Qwtplot的自动缩放怎么让刻度之间至少保持1
时间: 2024-03-20 17:40:38 浏览: 10
你可以使用QwtPlot::setAxisScaleDiv()函数来设置坐标轴的度量尺。首先,你需要获取当前坐标轴的度量尺。接着,计算出需要设置的度量尺,使其至少保持刻度之间的间隔为1。最后,使用setAxisScaleDiv()函数设置新的度量尺即可。
以下是一个简单的例子,假设你要设置X轴的度量尺:
```cpp
// 获取当前X轴的度量尺
QwtScaleDiv currentDiv = plot->axisScaleDiv(QwtPlot::xBottom);
// 计算出需要设置的度量尺
double xMin = currentDiv.lowerBound();
double xMax = currentDiv.upperBound();
double xRange = xMax - xMin;
int numIntervals = qMax(1, static_cast<int>(xRange));
double newInterval = xRange / numIntervals;
double newLowerBound = qFloor(xMin / newInterval) * newInterval;
double newUpperBound = qCeil(xMax / newInterval) * newInterval;
QwtScaleDiv newDiv(newLowerBound, newUpperBound, newInterval);
// 设置新的度量尺
plot->setAxisScaleDiv(QwtPlot::xBottom, newDiv);
```
这将设置X轴的度量尺,使其至少保持刻度之间的间隔为1。你可以使用类似的方法来设置其他坐标轴的度量尺。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)