QtCharts繪製條形圖

本文作者林中楓,首發於知乎,未經許可禁止轉載。

條形圖也屬於基本圖表,用的也很多,QtCharts繪製條形圖也很簡單。

首先在工程文件中引入QtCharts模塊:

QT+=charts

接下來就是繪製條形圖,代碼很簡單,看著變數名就知道是什麼意思了,代碼如下:

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include<QtCharts>
#include<QStringList>
using namespace QtCharts;
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();

private:
Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QChart *chart=new QChart();
QBarSet *set1=new QBarSet("Tom");
QBarSet *set2=new QBarSet("Bob");
QBarSet *set3=new QBarSet("Martin");
*set1<<16<<22<<56<<33<<11;
*set2<<33<<45<<43<<55<<35;
*set3<<13<<55<<78<<44<<56;

QBarSeries *series=new QBarSeries();
series->append(set1);
series->append(set2);
series->append(set3);

QBarCategoryAxis *axis = new QBarCategoryAxis();
axis->append(QStringList()<<"2014"<<"2015"<<"2016"<<"2017"<<"2018");

chart->addSeries(series);
chart->setAxisX(axis,series);
chart->createDefaultAxes();
chart->setTitle("BarChart");
chart->setTheme(QChart::ChartThemeBlueCerulean);
this->setCentralWidget(new QChartView(chart));

}

MainWindow::~MainWindow()
{
delete ui;
}

QtCharts內置了幾個主題,我用了其中一個,感覺還比較炫,接下來運行程序即可看到我們繪製好的條形圖:

歡迎關註:林中楓


推薦閱讀:

TAG:Qt(C開發框架) | GUI設計 | C/C |