最近在利用qwtplot绘图的时候,出现这种情况,在没有缩放之前,图像可以实现x坐标轴的自动缩放,但是在进行缩放之后,x坐标轴的范围就变成固定的,不会随时间刷新了,一直是不动的,求助大神,给点思路。
上图是缩放之后的效果,下面是没有进行缩放之前的效果(x坐标轴能够根据时间实现自动缩放),下面是相关代码
qwtplot->setAxisTitle(QwtPlot::xBottom, "System Uptime [h:m:s]");
ui->qwtPlot->setAxisScaleDraw(QwtPlot::xBottom,new TimeScaleDraw(curTime));
qwtplot->setAxisScale(QwtPlot::yLeft,0,20,2);
/* 设置坐标轴自动伸缩
设置X坐标轴自动伸缩。根据绘图数据自动控制X坐标轴。*/
qwtplot->setAxisAutoScale(QwtPlot::xBottom, true);
qwtplot->setAxisAutoScale(QwtPlot::yLeft, true);
//qwtplot->setAxisAutoScale(QwtPlot::yRight,true);
/*--------------------------------- 图像缩放 --------------------------------------------*/
QwtPlotZoomer *zoomer = new QwtPlotZoomer( qwtplot->canvas() );
zoomer->setMousePattern(QwtEventPattern::MouseSelect2,Qt::RightButton, Qt::ControlModifier );
zoomer->setMousePattern(QwtEventPattern::MouseSelect3,Qt::RightButton );
QwtPlotPanner *panner = new QwtPlotPanner( qwtplot->canvas() ); //默认的左键移动功能
panner->setMouseButton( Qt::RightButton ); //设置哪个按钮移动画布 如果不设置(注册掉当前行)按钮默认为左键为移动
QwtPlotMagnifier *magnifier = new QwtPlotMagnifier( qwtplot->canvas() );
magnifier->setAxisEnabled(QwtPlot::yLeft,false);
magnifier->setAxisEnabled(QwtPlot::xBottom, true);