QwtRasterData (m_SpectroPlot
以下) から派生したデータ コンテナーを使用して、QwtPlot として実装された色付きのウォーターフォール ディスプレイがあります。描画された値は、プロットの右側に表示されているカラー マップから取得した、データの Z 軸に対応しています。コードは次のようになります。
const QwtInterval zInterval = m_SpectroPlot->data()->interval( Qt::ZAxis );
QwtScaleWidget *zAxis = axisWidget(QwtPlot::yRight);
zAxis->setColorBarEnabled(true);
zAxis->setColorMap( zInterval, new ColorMap());
setAxisScale(QwtPlot::yRight, zInterval.minValue(), zInterval.maxValue() );
setAxisAutoScale(QwtPlot::yRight);
enableAxis(QwtPlot::yRight);
すべて正常に動作しますが、左側にカラー マップを配置し、Y 軸の値を非表示にしたいと考えています。上記のコードで yRight を yLeft に置き換えると、カラー マップの表示間隔がデータの Y 値の間隔にロックされます。yLeft 軸にカラー マップを表示しながら、現在の独立した軸間隔を維持するにはどうすればよいですか?
つまり、プロットに描画される実際の Y 値は Y0-Y1 ですが、間隔 Z0-Z1 のカラー マップを yLeft 軸に表示したいと考えています。Y軸をスケーリングするには、yLeftの代わりにyRightを使用するようにプロットに指示する必要があるようです。