Qt-Qcustomplot坐标轴缩放、拖动等调整

本文介绍了QCustomPlot中坐标轴的各种设置方法,包括交互设置、缩放设置、自动调整及伸缩比例设置等。提供了详细的函数应用示例,帮助读者快速掌握坐标轴配置技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qcustomplot入门请点击: Qcustomplot入门教程
Qcustomplot中可以设置坐标轴属性:
1、 setInteractions函数

//设置基本坐标轴(左侧Y轴和下方X轴)可拖动、可缩放、曲线可选、legend可选、设置伸缩比例,使所有图例可见
CustomPlot->setInteractions(QCP::iRangeDrag|QCP::iRangeZoom| QCP::iSelectAxes |
                                  QCP::iSelectLegend | QCP::iSelectPlottables);

QCP还有iMultiSelect等其他属性,读者可自行尝试
这种方法只能设置基础坐标轴

2、setRangeZoomAxes函数
使坐标轴可以伸缩
在2.0系列版本的Qcustomplot中,可以对通过坐标轴列表对两套坐标轴进行设置:

   QList<QCPAxis*> axes;
   axes << CustomPlot->yAxis2 << CustomPlot->xAxis2 << CustomPlot->yAxis << CustomPlot->xAxis;
   CustomPlot->axisRect()->setRangeZoomAxes(axes);

但在1.0系列版本中只能设置一套,并且两套坐标轴都进行设置只能有一套坐标轴起作用:

CustomPlot->axisRect()->setRangeZoomAxes(ui->widget->xAxis, ui->widget->yAxis);

3、根据图像最高点最低点自动缩放坐标轴
绘制实时数据时,需要每次数据绘制完成就调用此函数,否则不会生效(是根据当前点调整坐标)。

//Y轴
CustomPlot->graph(2)->rescaleValueAxis(true); 
//X轴 
CustomPlot->graph(2)->rescaleKeyAxis(true); 
//X、Y轴 
CustomPlot->graph(2)->rescaleAxes(true); 

4、setRangeZoomFactor
设置伸缩比例 setRangeZoomFactor( double horizontalFactor, double verticalFactor );可以分别设定X,Y方向

Customplot->axisRect()->setRangeZoomFactor(1.2,2.2);/x方向为1.2

5、重载鼠标滚轮事件和按钮事件
这种方法相对来说比较麻烦,尝试了上面的方法后我放弃了使用这种方法,但这种方法的灵活性是以上方法无法比拟的

其他Qcustomplot坐标轴属性可参考:
https://www.cnblogs.com/swarmbees/p/6059812.html

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值