Qt圖形圖像開(kāi)發(fā)之曲線圖表模塊QChart庫(kù)一個(gè)chart中顯示兩條曲線詳細(xì)方法與實(shí)例
首先要了解QChartView、QChart、QLineSeries、QValueAxis的實(shí)體之間的關(guān)系,例如一個(gè)QChartView中可以包含幾個(gè)QValueAxis?這些可參考 Qt圖形圖像開(kāi)發(fā)曲線圖表模塊QChart庫(kù)基本用法、各個(gè)類之間的關(guān)系說(shuō)明
每個(gè)chart可以包含多個(gè)QLineSeries數(shù)據(jù)系列,每個(gè)QLineSeries數(shù)據(jù)系列又包含了2個(gè)QValueAxis數(shù)值軸或QDateTimeAxis時(shí)間軸。
那么這個(gè)chart中的多個(gè)數(shù)據(jù)系列,一起顯示在同一個(gè)chart中,會(huì)是什么情形?
新建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í)體中自帶一個(gè)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ù)系列連接。注意,這一行并不能用來(lái)給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)绻堰@兩個(gè)QLineSeries數(shù)據(jù)系列,綁定到同一組XY軸上(也即,兩條曲線共享同一組XY軸),兩條曲線就能“真正”的顯示在同一個(gè)chart中了,如下所示。
本文介紹了Qt曲線圖表模塊QChart庫(kù)一個(gè)chart中顯示兩條曲線詳細(xì)方法與實(shí)例,更多關(guān)于Qt曲線圖表模塊QChart庫(kù)知識(shí)請(qǐng)查看下面的相關(guān)鏈接
- 基于PyQt5制作一個(gè)數(shù)據(jù)圖表生成器
- Qt繪制圖表的實(shí)現(xiàn)
- Qt QChart 創(chuàng)建圖表的實(shí)現(xiàn)方法
- Qt圖形圖像開(kāi)發(fā)之曲線圖表模塊QChart庫(kù)坐標(biāo)軸和數(shù)據(jù)不對(duì)應(yīng)、密集的散點(diǎn)圖無(wú)法顯示問(wèn)題解決方法
- Qt圖形圖像開(kāi)發(fā)曲線圖表模塊QChart庫(kù)縮放/平移詳細(xì)方法與實(shí)例
- Qt圖形圖像開(kāi)發(fā)之曲線圖表模塊QChart庫(kù)讀取/設(shè)置X軸的顯示區(qū)間
- Qt圖形圖像開(kāi)發(fā)曲線圖表模塊QChart庫(kù)基本用法、各個(gè)類之間的關(guān)系說(shuō)明
- Qt圖形圖像開(kāi)發(fā)之曲線圖表庫(kù)QChart編譯安裝詳細(xì)方法與使用實(shí)例
- Qt實(shí)現(xiàn)簡(jiǎn)單折線圖表
相關(guān)文章
C語(yǔ)言if選擇結(jié)構(gòu)語(yǔ)句詳解
大家好,本篇文章主要講的是C語(yǔ)言if選擇結(jié)構(gòu)語(yǔ)句詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12利用C++簡(jiǎn)單實(shí)現(xiàn)順序表和單鏈表的示例代碼
這篇文章主要給大家介紹了關(guān)于利用C++簡(jiǎn)單實(shí)現(xiàn)順序表和單鏈表的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友可以參考借鑒,下面來(lái)跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2017-08-08c++ 構(gòu)造函數(shù)中調(diào)用虛函數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇c++ 構(gòu)造函數(shù)中調(diào)用虛函數(shù)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12使用Qt/C++實(shí)現(xiàn)WGS84,高德GCJ-02與百度BD-09坐標(biāo)系間相互轉(zhuǎn)化
這篇文章主要為大家詳細(xì)介紹了如何使用Qt實(shí)現(xiàn)WGS84、高德GCJ-02與百度BD-09坐標(biāo)系間相互轉(zhuǎn)化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-07-07