qt绘制多纵坐标值不同折线图
时间: 2023-12-15 17:03:41 浏览: 111
你可以使用QCustomPlot库来实现这个功能。以下是一个简单的例子:
```cpp
#include <QApplication>
#include <QMainWindow>
#include "qcustomplot.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow window;
// 创建一个QCustomPlot对象
QCustomPlot *plot = new QCustomPlot(&window);
// 添加一个坐标轴
QCPAxis *axis1 = plot->addAxis(QCPAxis::atLeft);
QCPAxis *axis2 = plot->addAxis(QCPAxis::atRight);
// 设置第一个坐标轴的范围和标签
axis1->setRange(0, 10);
axis1->setLabel("Axis 1");
// 设置第二个坐标轴的范围和标签
axis2->setRange(0, 100);
axis2->setLabel("Axis 2");
// 添加两条曲线
QCPCurve *curve1 = new QCPCurve(plot->xAxis, axis1);
QCPCurve *curve2 = new QCPCurve(plot->xAxis, axis2);
// 设置曲线数据
QVector<double> x(11), y1(11), y2(11);
for (int i = 0; i < 11; ++i)
{
x[i] = i;
y1[i] = i * i;
y2[i] = i * i * 10;
}
curve1->setData(x, y1);
curve2->setData(x, y2);
// 设置曲线颜色和宽度
curve1->setPen(QPen(Qt::red));
curve2->setPen(QPen(Qt::blue));
// 显示图形
plot->replot();
window.setCentralWidget(plot);
window.show();
return a.exec();
}
```
这个例子创建了一个包含两个纵坐标轴的QCustomPlot对象,并在每个坐标轴上绘制了一条曲线。你可以根据需要添加更多的曲线和坐标轴,并在每个坐标轴上显示不同的数据。
阅读全文