首先要了解QChartView、QChart、QLineSeries、QValueAxis的實(shí)體之間的關(guān)系,例如一個QChartView中可以包含幾個QValueAxis?這些可參考 Qt圖形圖像開發(fā)曲線圖表模塊QChart庫基本用法、各個類之間的關(guān)系說明
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供廣靈企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為廣靈眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
每個chart可以包含多個QLineSeries數(shù)據(jù)系列,每個QLineSeries數(shù)據(jù)系列又包含了2個QValueAxis數(shù)值軸或QDateTimeAxis時間軸。
那么這個chart中的多個數(shù)據(jù)系列,一起顯示在同一個chart中,會是什么情形?
新建ui工程,并添加MainWindow私有變量:
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QChartView> #include <QChart> #include <QLineSeries> #include <QValueAxis> QT_CHARTS_USE_NAMESPACE namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; QChart *chart;//非必要(QCharView實(shí)體中自帶一個QChart實(shí)體) QLineSeries *series_sin, *series_cos; QValueAxis *axis_x_sin, *axis_y_sin, *axis_x_cos, *axis_y_cos; }; #endif // MAINWINDOW_H
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), chart(new QChart),//或者不用new,直接指向ui->graphicsView->chart()也行 series_sin(new QLineSeries),//sin曲線的數(shù)據(jù)點(diǎn) series_cos(new QLineSeries),//cos曲線的數(shù)據(jù)點(diǎn) axis_x_sin(new QValueAxis),//sin的X軸 axis_y_sin(new QValueAxis),//sin的Y軸 axis_x_cos(new QValueAxis),//cos的X軸 axis_y_cos(new QValueAxis)//cos的Y軸 { ui->setupUi(this); ui->graphicsView->setChart(chart);//view中顯示出chart for(float x = 0; x < 10; x += 0.1) { series_sin->append(x, sin(x)); } axis_x_sin->setRange(-5,25); axis_y_sin->setRange(-2,2); chart->addSeries(series_sin); /*功能是:添加軸,并把軸和數(shù)據(jù)系列連接。注意,這一行并不能用來給chart添加數(shù)據(jù)系列 添加數(shù)據(jù)系列,要用chart->addSeries*/ chart->setAxisX(axis_x_sin, series_sin); chart->setAxisY(axis_y_sin, series_sin); for(float x = 10; x < 20; x += 0.1) { series_cos->append(x, cos(x)); } axis_x_cos->setRange(5,25); axis_y_cos->setRange(-2,2); chart->addSeries(series_cos); chart->setAxisX(axis_x_cos, series_cos);//cos使用自己的X軸 chart->setAxisY(axis_y_cos, series_cos); // chart->setAxisX(axis_x_sin, series_cos);//cos共享sin曲線的X軸 // chart->setAxisY(axis_y_sin, series_cos); }
運(yùn)行結(jié)果如下所示,我們發(fā)現(xiàn),兩條曲線各自為政。
根據(jù)上面程序最后兩行的注釋,我們?nèi)绻堰@兩個QLineSeries數(shù)據(jù)系列,綁定到同一組XY軸上(也即,兩條曲線共享同一組XY軸),兩條曲線就能“真正”的顯示在同一個chart中了,如下所示。
本文介紹了Qt曲線圖表模塊QChart庫一個chart中顯示兩條曲線詳細(xì)方法與實(shí)例,更多關(guān)于Qt曲線圖表模塊QChart庫知識請查看下面的相關(guān)鏈接
新聞名稱:Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫一個chart中顯示兩條曲線詳細(xì)方法與實(shí)例
瀏覽地址:http://aaarwkj.com/article36/igjisg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站制作、外貿(mào)建站、關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)