作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 13:47:02
急!qwt曲线超过坐标轴范围 坐标轴却不会自动放大,已经有设置坐标轴自动缩放了

如图红圈那块曲线已经超过y轴的量程范围了


还有很奇怪我用axisMaxValue(QwtPlot::yLeft) 和 axisMinValue(QwtPlot::yLeft)函数打印y轴的最大值和最小值打出来分别是1000和0 但是y轴的刻度明明是0到400 是不是没有设置坐标轴范围,而是只设置了自动缩放.所以上面的那两个函数打印出来的值没有真实的意义啊?
可以的里面有一个成员函数是setAxisAutoScale(QwtPlot::yLeft,true);
再问: 已经通过setAxisAutoScale(QwtPlot::yLeft,true)函数设置自动缩放了,若再设置范围的话,坐标轴就固定了。
再答: 你自己主动调一下,刷新;能正确显示吗?
再问: updateAxes ( ) 我每次绘画都调这个函数重新更新刻度的。可是没有效果。
再答: 全图刷新试试!
再问: replot()也试过了 。。。还有很奇怪我用axisMaxValue(QwtPlot::yLeft) 和 axisMinValue(QwtPlot::yLeft)函数打印y轴的最大值和最小值打出来分别是1000和0 但是y轴的刻度明明是0到400 是不是没有设置坐标轴范围,而是只设置了自动缩放。所以上面的那两个函数打印出来的值没有真实的意义啊?
再答: 你应该重新设置y轴范围;不然它如何知道绘制范围!
再问: 我也有设置过了。就是设置完坐标轴就固定死了。不是我想要的效果。因为有多条曲线,如有一条范围很大。有的范围很小。我想要的效果是点击某条曲线,坐标轴就更改它的范围适应曲线的范围大小。
再答: 你可以变通的实现啊!他点击某条线后,发个信号;你去到这条线;然后获取这条线的范围;在设置下x,y范围;然后刷新;也可以实现你的功能啊!