急!!!qwt曲线超过坐标轴范围 坐标轴却不会自动放大,已经有设置坐标轴自动缩放了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!!!qwt曲线超过坐标轴范围 坐标轴却不会自动放大,已经有设置坐标轴自动缩放了相关的知识,希望对你有一定的参考价值。

如图红圈那块曲线已经超过y轴的量程范围了
还有很奇怪我用axisMaxValue(QwtPlot::yLeft) 和 axisMinValue(QwtPlot::yLeft)函数打印y轴的最大值和最小值打出来分别是1000和0 但是y轴的刻度明明是0到400 是不是没有设置坐标轴范围,而是只设置了自动缩放。所以上面的那两个函数打印出来的值没有真实的意义啊?

可以的里面有一个成员函数是setAxisAutoScale(QwtPlot::yLeft,true);追问

我已经设置过了,而且若没有设置,qwt也是自动默认会自动缩放的。

追答

可以replot()前加一下setAxisAutoScale(QwtPlot::yLeft,true)试试。呵。

参考技术A 你是范围是不是没有设置正确啊!追问

已经通过setAxisAutoScale(QwtPlot::yLeft,true)函数设置自动缩放了,若再设置范围的话,坐标轴就固定了。

追答

你自己主动调一下,刷新;能正确显示吗?

追问

updateAxes ( ) 我每次绘画都调这个函数重新更新刻度的。可是没有效果。

追答

全图刷新试试!

追问

replot()也试过了 。。。还有很奇怪我用axisMaxValue(QwtPlot::yLeft) 和 axisMinValue(QwtPlot::yLeft)函数打印y轴的最大值和最小值打出来分别是1000和0 但是y轴的刻度明明是0到400 是不是没有设置坐标轴范围,而是只设置了自动缩放。所以上面的那两个函数打印出来的值没有真实的意义啊?

追答

你应该重新设置y轴范围;不然它如何知道绘制范围!

追问

我也有设置过了。就是设置完坐标轴就固定死了。不是我想要的效果。因为有多条曲线,如有一条范围很大。有的范围很小。我想要的效果是点击某条曲线,坐标轴就更改它的范围适应曲线的范围大小。

追答

你可以变通的实现啊!他点击某条线后,发个信号;你去到这条线;然后获取这条线的范围;在设置下x,y范围;然后刷新;也可以实现你的功能啊!

本回答被提问者采纳

以上是关于急!!!qwt曲线超过坐标轴范围 坐标轴却不会自动放大,已经有设置坐标轴自动缩放了的主要内容,如果未能解决你的问题,请参考以下文章

我用qwt来画图,怎样能够实现横坐标显示当前时间

matlab 在特定曲线之间画阴影,急急急!!!!

android中这样的曲线要怎么绘制

matlab画图,如何修改横坐标的显示数值,急

Qt QChart缩放后坐标轴间隔取整

opencv建立数学坐标系绘制函数曲线