zoukankan      html  css  js  c++  java
  • QT barchart将数据转化成条形图

    1.在工程文件.pro中加入

    QT       += charts

    2.需要的头文件

    #include <QChart>

    #include <QBarSet>

    #include <QBarSeries>

    3.创建集合并向它们追加数据

     QBarSet *set0 = new QBarSet("Jane");

    *set0 << 1 << 2 << 3 << 4 << 5 << 6;

    4.创建 series结合并且添加barsets

    QBarSeries *series = new QBarSeries();
    series->append(set0);

    5.创建chart,并且添加series

    QChart *chart = new QChart();
     chart->addSeries(series);

    6.创建类别轴和类别列表

    1 QStringList categories;
    2 categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    3  QBarCategoryAxis *axis = new QBarCategoryAxis();
    4  axis->append(categories);
    5  chart->createDefaultAxes();
    6  chart->setAxisX(axis, series);

    7.显示图例

     chart->legend()->setVisible(true);
     chart->legend()->setAlignment(Qt::AlignBottom);

    8.创建画布

    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);

    显示代码

     1 barChart::barChart(QWidget *parent) :
     2     QWidget(parent),
     3     ui(new Ui::barChart)
     4 {
     5     ui->setupUi(this);
     6     QBarSet* set0 = new QBarSet("jane");
     7     QBarSet* set1 = new QBarSet("jone");
     8     QBarSet* set2 = new QBarSet("mary");
     9     QBarSet* set3 = new QBarSet("Alsex");
    10     QBarSet* set4 = new QBarSet("summer");
    11     *set0<<1<<2<<3<<4<<5;
    12     *set1<<5<<9<<2<<0<<3;
    13     *set2<<3<<7<<1<<4<<2;
    14     *set3<<6<<1<<9<<8<<3;
    15     *set4<<0<<2<<6<<8<<1;
    16     QBarSeries* barSerise = new QBarSeries();
    17     barSerise->append(set0);
    18     barSerise->append(set1);
    19     barSerise->append(set2);
    20     barSerise->append(set3);
    21     barSerise->append(set4);
    22     QChart* chart = new QChart();
    23     chart->addSeries(barSerise);
    24     chart->setTitle("Simple barchart example");
    25     chart->setAnimationOptions(QChart::SeriesAnimations);
    26     
    27     QStringList str;
    28     str<< "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    29     QBarCategoryAxis* axisx = new QBarCategoryAxis();
    30     axisx->append(str);
    31     chart->createDefaultAxes();
    32     chart->setAxisX(axisx);
    33 
    34     chart->legend()->setVisible(true);
    35     chart->legend()->setAlignment(Qt::AlignBottom);
    36 
    37     QChartView* chartView = new QChartView(chart);
    38     chartView->setRenderHint(QPainter::Antialiasing);
    39 
    40     QHBoxLayout *layout = new QHBoxLayout();
    41     layout->setContentsMargins(0, 0, 0, 0);
    42     layout->addWidget(chartView);
    43     setLayout(layout);
    44 
    45 }
    46 
    47 barChart::~barChart()
    48 {
    49     delete ui;
    50 }

     运行结果

  • 相关阅读:
    检测后缀表达式的合法性
    对表达式进行空白符预处理
    字符串替换
    中缀表达式的计算
    Linux shell编程
    Linux常用shell
    [转载]shell脚本编写规范
    [转载]Linux文件类型
    Linux的进程
    Linux进入命令行模式
  • 原文地址:https://www.cnblogs.com/wxh-53919/p/9301047.html
Copyright © 2011-2022 走看看