主要借助QCustomPlot第三方庫,該庫可到官網下載 http://www.qcustomplot.com/ ,具體使用如下代碼:

1 plot=new QCustomPlot(this); //QCustomPlot *plot; 2 this->setCentralWidget(plot); 3 4 //向繪圖區域QCustomPlot(從widget提升來的)添加一條曲線 5 plot->addGraph(); 6 7 //設置顯示的xy顯示 8 plot->xAxis->setLabel("x"); 9 plot->yAxis->setLabel("y"); 10 11 //定義兩個可變數組存放繪圖的坐標數據 12 QVector<double> x(101),y(101);//分別存放x和y坐標的數據,101為數據長度 13 //添加數據,我們這里演示y=x^3,為了正負對稱,我們x從-10到+10 14 for(int i=0;i<101;i++) 15 { 16 x[i] = i/5 - 10; 17 y[i] = x[i] * x[i] * x[i]; 18 } 19 20 //添加數據 21 plot->graph(0)->setData(x,y); 22 23 /*plot->xAxis->setRange(-11,11); 24 plot->yAxis->setRange(-1100,1100);*/ 25 26 plot->rescaleAxes(); //自動設置范圍 27 28 //實現放縮和平移 29 plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); 30 31 plot->replot();
還有更多方便炫酷的功能,如保存為圖片(plot->saveJpg("D:/ss.jpg");),動態等,以后用到再繼續增加。
運行效果如圖:
注:
如果需要將其編譯成動態庫,方法是,從官網上下載QCustomPlot-sharedlib,然后拷貝qcustomplot.h和qcustomplot.cpp到與qcustomplot-sharedlib同級的目錄下,
1)方法1:然進入到其子目錄sharedlib-compilation,找到.pro工程文件,用QtCreator打開編譯即可,會生成debug和release兩個文件夾,里面有對應版本的動態庫。
2)方法2:對於我這種不用QtCreator編輯器的,就要在VS中導入.pro文件(以上的相對路徑要設置好),然后可以在不同的模式(debug、release)下進行編譯,也可以修改生成目標文件的名字,很方便。