目录
1.QBarSeries
2.QHorizontalBarSeries
3.QPercentBarSeries
4.QHorizontalPercentBarSeries
5.QStackedBarSeries
6.QHorizontalStackedBarSeries
从上图得知柱状的基类是QAbstractBarSeries,派生出来分别是柱状图的水平和垂直类,只是类型行不同
1.QBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QBarSeries *series = new QBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();axisY->setRange(0,15);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
2.QHorizontalBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;//![1]//![2]QHorizontalBarSeries *series = new QHorizontalBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple horizontal barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);axisX->applyNiceNumbers();//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);//![6]
3.QPercentBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QPercentBarSeries *series = new QPercentBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);
//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
4.QHorizontalPercentBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QHorizontalPercentBarSeries *series = new QHorizontalPercentBarSeries ();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);
//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
5.QStackedBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;//![1]//![2]QStackedBarSeries *series = new QStackedBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
6.QHorizontalStackedBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QHorizontalStackedBarSeries *series = new QHorizontalStackedBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple horizontal stacked barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
//![6]