QwtPlot setAxisScale,它是如何工作的?
QwtPlot setAxisScale, how it works?
我将 QwtPlot
子类化为:
class RealPlot : public QwtPlot {
public:
RealPlot () {
...
setAxisScale(QwtPlot::xBottom, -5, 5);
}
void addPoint(Point p) {
...
setAxisScale(QwtPlot::xBottom, min, max);
}
}
每次添加新点时,我都想重新缩放绘图(的水平轴)。所以我在将点添加到曲线后立即调用 setAxisScale(QwtPlot::xBottom, min, max);
。
问题是绘图没有重新缩放。构造函数中对 setAxisScale(QwtPlot::xBottom, -5, 5);
的调用确实重新缩放了绘图。但是 setAxisScale(QwtPlot::xBottom, min, max);
没有。为什么?
缺少 QwtPlot::replot 来使您的更改生效。
在启动的情况下,你总是 运行 进入初始重绘 - 这就是它在那里工作的原因。
我将 QwtPlot
子类化为:
class RealPlot : public QwtPlot {
public:
RealPlot () {
...
setAxisScale(QwtPlot::xBottom, -5, 5);
}
void addPoint(Point p) {
...
setAxisScale(QwtPlot::xBottom, min, max);
}
}
每次添加新点时,我都想重新缩放绘图(的水平轴)。所以我在将点添加到曲线后立即调用 setAxisScale(QwtPlot::xBottom, min, max);
。
问题是绘图没有重新缩放。构造函数中对 setAxisScale(QwtPlot::xBottom, -5, 5);
的调用确实重新缩放了绘图。但是 setAxisScale(QwtPlot::xBottom, min, max);
没有。为什么?
缺少 QwtPlot::replot 来使您的更改生效。 在启动的情况下,你总是 运行 进入初始重绘 - 这就是它在那里工作的原因。