Skip to main content
标签ad报错:该广告ID(9)不存在。
  主页 > Qt入门

一个qt/c++ demo,用于显示柱状图

2023-04-24 浏览:
标签ad报错:该广告ID(7)不存在。

#include <QtCharts/QChartView>
#include <QtCharts/QBarSeries>
#include <QtCharts/QBarSet>
#include <QtCharts/QValueAxis>

QT_CHARTS_USE_NAMESPACE

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // 创建数据集
    QBarSet *set0 = new QBarSet("John");
    QBarSet *set1 = new QBarSet("Jane");
    QBarSet *set2 = new QBarSet("Joe");

    *set0 << 10 << 20 << 30 << 40 << 50;
    *set1 << 20 << 30 << 40 << 30 << 20;
    *set2 << 5 << 15 << 25 << 35 << 45;

    // 创建柱状图系列
    QBarSeries *series = new QBarSeries();
    series->append(set0);
    series->append(set1);
    series->append(set2);

    // 创建视图并设置柱状图
    QChartView *chartView = new QChartView();
    chartView->setRenderHint(QPainter::Antialiasing);
    chartView->chart()->addSeries(series);
    chartView->chart()->setTitle("Sales by person");
    chartView->chart()->setAnimationOptions(QChart::SeriesAnimations);

    // 创建X轴和Y轴
    QValueAxis *axisX = new QValueAxis();
    axisX->setRange(0, 5);
    axisX->setLabelFormat("%.0f");
    axisX->setTitleText("Person");

    QValueAxis *axisY = new QValueAxis();
    axisY->setRange(0, 50);
    axisY->setLabelFormat("%.0f");
    axisY->setTitleText("Sales");

    // 将X轴和Y轴添加到图表中
    chartView->chart()->addAxis(axisX, Qt::AlignBottom);
    chartView->chart()->addAxis(axisY, Qt::AlignLeft);

    // 将柱状图系列关联到X轴和Y轴上
    series->attachAxis(axisX);
    series->attachAxis(axisY);

    // 显示视图
    chartView->show();

    return a.exec();
}