私はQwtPlotを持っています。このプロットは自動スケーリング可能ですが、プロットが 46.5 から 47.5 の間でのみ拡張されることを避けるために、膨張を制限したいと考えています。たとえば、私のプロットは 5 ユニット未満では拡張されませんでした。
QwtScaleEngine を使用する必要があることはわかっていますが、方法がわかりません。
QwtScaleEngine を使用する必要はないようです。この種のコードを試してください。
plot=new QwtPlot(parent);
plot->setAxisAutoScale(QwtPlot::yLeft,false);
plot->setAxisScale(QwtPlot::yLeft,minYBorder,maxYBorder,0);
QwtScaleEngine は、次のような書式設定に適しています。
class TimeScaleDraw:public QwtScaleDraw{
public:
TimeScaleDraw(QString fmt):format(fmt){}
virtual QwtText label(double v) const{
return (QDateTime::fromMSecsSinceEpoch(floor(v))).toString(format); }
private:
const QString format;
};