一、QCustomPlot的安裝
官方下載地址:http://www.qcustomplot.com/index.php/download
推薦下載第一個鏈接,裏面有很多官方給的例子可以參考。
下載之後將文件解壓到任意一個文件夾中,不要有中文路徑。
打開QT,新建一個窗體工程
將解壓得到的文件夾裏面的頭文件qcustomplot.h和源文件qcustomplot.cpp複製粘貼到工程文件夾下。
在Qt中,對着工程名右鍵,添加已有文件,將頭文件qcustomplot.h和源文件qcustomplot.cpp都添加到工程中來。
接着在工程的pro文件的第9行末尾加入代 printsupport,如下圖
打開界面文件,進入圖形化設計界面,向主窗口中添加一個widget區域,對着所添加的widget區域點擊右鍵,選擇“提升爲”按鈕。
提升類名稱輸入“QCustomPlot”,點擊添加。
在之後的界面中選中QCustomPlot,點擊提升按鈕,我們創建的widget就被提升爲QCustomPlot類了。
現在我們運行一下程序,就會出現一個簡單的座標系了。
恭喜你,QCustomPlot的基本配置就做好了。
二、第一個例子
首先解釋一下原理:
我們可以理解爲QCustomPlot就是一個繪圖板的類,它繼承於Widget,界面中的Widget類提升爲QCustomPlot才能夠繪圖。
QCustomPlot中的每一個曲線是一個Graph對象,凡是跟顯示數據有關的我們就對Graph進行操作或調用Graph對象提供的方法。
一個QCustomPlot裏有四個座標軸,其中xAxis和yAxis就是我們上圖看到的x和y座標軸,還有兩個座標軸xAxis1和yAxis1爲上方和右方的x、y座標,默認隱藏,可以通過程序設計顯示。
具體繪圖執行步驟:
首先我們將上面提升爲QCustomPlot類的容器界面的對象重命名爲qCustomPlot。
此時,我們只需要在主類Widget構造函數中加入如下代碼,即可繪製一個標準標準的y=x^3的曲線,代碼含義代碼中有註釋。
1 Widget::Widget(QWidget *parent) : 2 QWidget(parent), 3 ui(new Ui::Widget) 4 { 5 ui->setupUi(this); 6 7 //定義兩個可變數組存放繪圖的座標數據 8 QVector<double> x(101),y(101);//分別存放x和y座標的數據,101爲數據長度 9 //添加數據,我們這裏演示y=x^3,爲了正負對稱,我們x從-10到+10 10 for(int i=0;i<101;i++) 11 { 12 x[i] = i/5 - 10; 13 y[i] = x[i] * x[i] * x[i]; 14 } 15 16 //向繪圖區域QCustomPlot(從widget提升來的)添加一條曲線 17 ui->qCustomPlot->addGraph(); 18 //添加數據 19 ui->qCustomPlot->graph(0)->setData(x,y); 20 21 //設置座標軸標籤名稱 22 ui->qCustomPlot->xAxis->setLabel("x"); 23 ui->qCustomPlot->yAxis->setLabel("y"); 24 25 //設置座標軸顯示範圍,否則我們只能看到默認的範圍 26 ui->qCustomPlot->xAxis->setRange(-11,11); 27 ui->qCustomPlot->yAxis->setRange(-1100,1100); 28 29 //重繪,這裏可以不用,官方例子有,執行setData函數後自動重繪 30 //我認爲應該用於動態顯示或者是改變座標軸範圍之後的動態顯示,我們以後探索 31 //ui->qCustomPlot->replot(); 32 33 }
這樣我們就簡單的繪製好一個3次方的曲線了