2.1.1版本 qcustomplot 滚轮只放大x轴数据,y轴数据不动,并且跟x轴轴距对应
时间: 2023-11-28 22:49:47 浏览: 119
qcustomplot2.0.0
这个问题可以通过设置QCustomPlot的xAxis和yAxis的范围来解决。在QCustomPlot中,可以使用下面的代码来实现:
```cpp
// 设置x轴范围为[lower, upper]
plot->xAxis->setRange(lower, upper);
// 获取当前y轴范围
QCPRange range = plot->yAxis->range();
// 根据当前y轴范围和x轴范围的比例来设置新的y轴范围
double yRange = range.size() / (upper - lower);
double yCenter = (range.lower + range.upper) / 2;
double newYLower = yCenter - yRange * (upper - lower) / 2;
double newYUpper = yCenter + yRange * (upper - lower) / 2;
plot->yAxis->setRange(newYLower, newYUpper);
```
这段代码将x轴范围设置为[lower, upper],然后基于当前y轴范围和x轴范围的比例来计算新的y轴范围,保持y轴数据的相对位置不变。注意,在设置新的y轴范围时,需要使用QCustomPlot的range()函数来获取当前y轴范围。
阅读全文