官网地址:Qt Plotting Widget QCustomPlot - Introduction
下载放到自己的文件库中使用即可。
1.添加新曲线
//每条曲线都会独占一个graph()
customPlot->addGraph();
customPlot->graph(0)->setPen(QPen(Qt::blue)); // 曲线的颜色
customPlot->graph(0)->setBrush(QBrush(QColor(0, 0, 255, 20))); // 曲线与X轴包围区的颜色
customPlot->addGraph();//添加graph等价于添加新曲线
2.该库中使用默认有两个x轴和俩个y轴,x轴为xAxis,xAxis2,y轴为yAxis1,yAxis2。但是xAxis2和yAxis2刻度值是默认不可见的,刻度线是可见的。
customPlot->xAxis2->setVisible(true);
customPlot->xAxis2->setTickLabels(false);//第二个x轴的刻度值
customPlot->yAxis2->setVisible(true);
customPlot->yAxis2->setTickLabels(false);//第二个y轴的刻度值
3.使上下两个X轴的范围总是相等,使左右两个Y轴的范围总是相等
connect(customPlot->xAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->xAxis2, SLOT(setRange(QCPRange)));
connect(customPlot->yAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->yAxis2, SLOT(setRange(QCPRange)));
4.如果说给出的数据超出了能显示的范围,则需要自动调整x和y轴的范围
//自动调整XY轴的范围,以便显示出graph(0)中所有的点
customPlot->graph(0)->rescaleAxes();
//自动调整XY轴的范围,以便显示出graph(1)中所有的点
customPlot->graph(1)->rescaleAxes(true);
5.支持鼠标拖拽轴的范围、滚动缩放轴的范围,左键点选图层(每条曲线独占一个图层)
plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectAxes | QCP::iSelectLegend | QCP::iSelectPlottables); //设置曲线属性
仅供学习和参考。