基于qcustomplot设置多坐标系,并且绘制实时曲线

qcustomplot可以设置多坐标系。
首先情况布局,然后根据自己的需求来设置新的布局,再添加多个坐标轴。每个坐标轴内有一个graphic。
难点在于多个坐标系如何同步x轴,好在Qcustomplot的aixs有一个信号rangeChanged
党触发这个信号之后绑定其他坐标系的setRange槽函数。这样就实现了联动。
在这里插入图片描述
这样是坐标系联动起来,然后需要想坐标系内写入数据
在这里插入图片描述
数据写入之后需要replot进行刷新界面。

看下效果图:
在这里插入图片描述
有需要的小伙伴可以到这里进行下载
制作不易。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
QCustomPlot中,可以通过添加多个坐标系来实现绘制多个图表的需求。 一个坐标系可以理解为一个用于绘制图表的独立空间,通过将图表绘制在不同的坐标系上,可以同时显示多个图表,并且可以独立设置不同的坐标、网格、数据等属性。 要创建多个坐标系,首先需要创建QCustomPlot对象,然后通过调用其addGraph()函数来添加图表,并设置所需的属性。接下来,通过调用addAxis()函数来添加坐标,并设置坐标的显示位置、范围、刻度等属性。每个图表都可以拥有一个独立的X和Y,也可以复用已经创建的坐标。 在绘制多个图表时,可以通过QCPAxisRect来控制每个坐标系的位置和大小。可以使用setAxisRect()函数将图表指定到所需的坐标系中,并设置相应的位置和大小。 最后,使用replot()函数来重新绘制图表,并显示在界面上。 举个例子,可以通过以下步骤实现在一个QCustomPlot对象中绘制多个坐标系的功能: 1. 创建QCustomPlot对象:QCustomPlot *customPlot = new QCustomPlot(this); 2. 添加图表并设置属性: QCPGraph *graph1 = customPlot->addGraph(); // 设置图表1的属性 QCPGraph *graph2 = customPlot->addGraph(); // 设置图表2的属性 3. 添加坐标设置属性: QCPAxis *xAxis1 = customPlot->xAxis; // 设置x的属性 QCPAxis *yAxis1 = customPlot->yAxis; // 设置y的属性 QCPAxis *xAxis2 = customPlot->axisRect()->addAxis(QCPAxis::atBottom); // 设置图表2的x属性 QCPAxis *yAxis2 = customPlot->axisRect()->addAxis(QCPAxis::atLeft); // 设置图表2的y属性 4. 设置图表位置和大小: customPlot->plotLayout()->addElement(0, 0, customPlot->axisRect()); // 设置图表1的位置和大小 customPlot->plotLayout()->addElement(0, 1, customPlot->axisRect()); // 设置图表2的位置和大小 5. 调整坐标系的范围和刻度等属性,通过调用replot()函数重新绘制图表。 通过以上步骤,我们可以在一个QCustomPlot对象中创建多个坐标系,并绘制不同的图表,实现多个图表的显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加油小杜(接qt定制功能,单模块开发等)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值