Qt-Qcustomplot设置并使用双重坐标轴(刻度不同的X、Y轴)

62 篇文章 104 订阅
11 篇文章 13 订阅

在Qcustomplot的实际使用中,有时候我们需要绘制多个曲线,而曲线的范围又有着较大的差异,此时,我们需要刻度不同的X、Y轴,Qcustomplot的入门可以参考我的另一篇博客:
https://blog.csdn.net/qq_40194498/article/details/79666903

设置不同刻度的X、Y轴核心代码:

     //设置左边Y轴的范围(初始Y轴)
     ui->widget->yAxis->setRange(-10000,10000);
     //设置右边的Y轴可见,默认为不可见
     ui->widget->yAxis2->setVisible(true); 
     //设置右边Y轴的范围
     ui->widget->yAxis2->setRange(-40,100); 
     //X轴是xAxis2

我们增加曲线时,可以设置曲线的X、Y轴

//默认以下方X轴和左侧Y轴为基准 
ui->widget->addGraph();  
//手动设置X、Y轴,两个参数分别为:X轴,Y轴,这里设置X轴为下方X轴,Y轴为右侧Y轴 
ui->widget->addGraph(ui->widget->xAxis,ui->widget->yAxis2);

效果如图:
这里写图片描述

  • 16
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
qcustomplot是一个功能强大的开源C++绘图库,可用于绘制各种类型的图表。要实现在x轴上绘制一条线和多条具有不同刻度y轴,可以按照以下步骤操作: 1. 使用QCustomPlot库,创建一个QCustomPlot对象,用于绘图。 2. 为x轴和y轴设置刻度范围。可以使用setRange函数来设置x轴的范围。 3. 创建y轴刻度,在QCustomPlot对象上调用addGraph函数,创建多个QCPGraph对象。分别为每个y轴设置不同刻度范围,使用setRange函数来设置。 4. 使用setData函数为每个QCPGraph对象设置要绘制的数据点。可以通过传递x和y坐标数组给setData函数来设置数据点。 5. 根据需要,可以使用setPen函数为每个QCPGraph对象设置不同的线条颜色、样式和宽度。 6. 使用replot函数来执行绘图操作,将所有设置应用于图表。 下面是一个简单的示例代码: ```cpp #include <QApplication> #include "qcustomplot.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); QCustomPlot customPlot; // 设置x轴范围 customPlot.xAxis->setRange(0, 10); // 创建多个QCPGraph对象,并为每个y轴设置不同刻度范围 QCPGraph *graph1 = customPlot.addGraph(); graph1->valueAxis()->setRange(-10, 10); QCPGraph *graph2 = customPlot.addGraph(); graph2->valueAxis()->setRange(-20, 20); // 设置数据点 QVector<double> xData = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; QVector<double> yData1 = {-5, -4, -3, -2, -1, 0, 1, 2, 3, 4}; QVector<double> yData2 = {-10, -8, -6, -4, -2, 0, 2, 4, 6, 8}; graph1->setData(xData, yData1); graph2->setData(xData, yData2); // 设置线条样式 graph1->setPen(QPen(Qt::red)); graph2->setPen(QPen(Qt::blue)); // 执行绘图操作 customPlot.replot(); customPlot.show(); return a.exec(); } ``` 运行上述代码,将会绘制一条x轴和两条具有不同刻度y轴,其中红色的线表示y轴范围为-10到10,蓝色的线表示y轴范围为-20到20。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值