QCustomPlot的基礎參考此作者的文章
https://blog.csdn.net/qq_40194498/article/details/79666903
關于QCustomPlot的坑
- 在pro檔案中加入,如果沒有加入printsupport,編譯将會報錯!
QT += printsupport
- 可重載源檔案函數,實作更多功能
項目要求:
- 以時間為X軸,不斷更新
- Y軸為資料
- 可選擇顯示的資料
- 資料觀測,可暫停滾動,Y軸區間變化
- Qt5.9.3 + QCustomPlot,QWidget項目
效果圖:

做了一個小Demo,還在測試中,之後新加的功能再上傳
源碼連接配接:
https://download.csdn.net/download/qq_38159549/12288853
關于QCustomPlot繪圖
1、通過addGraph即可添加一個曲線圖層,此函數傳回這個曲線圖層的指針,或者通過曲線索引來找到,所有添加的曲線都放置在一個list裡面,如果是第一個添加的,那麼索引就是0了,
customPlot->graph(0)
2、使用setName和name函數分别設定和擷取曲線的名字
添加完曲線即可對這個曲線設定資料,QCustomPlot用于繪制趨勢圖非常友善
直接使用函數setData即可設定資料
void setData(QCPDataMap*data, bool copy=false)
void setData (const QVector<double > &key, const QVector<double > &value)
隻要有個x,y等長度的vector資料即可輕松繪圖
也可以追加資料
void addData (const QCPDataMap&dataMap)
void addData (const QCPData&data)
void addData (double key,double value)
void addData (const QVector<double > &keys, const QVector<double >&values)
3、設定完資料後可以對x,y軸進行設定
customPlot->xAxis->setLabel("x");
customPlot->yAxis->setLabel("y");
或者設定x,y軸的範圍
customPlot->xAxis->setRange(-1,1);
customPlot->yAxis->setRange(0,1);
QCustomPlot::rescaleAxes()函數,它會自動設定最合适的顯示範圍,非常簡便。
設定完成後即可顯示圖像
使用QCustomPlot::replot函數使圖像進行重繪,show函數也會觸發重繪事件。