0

我有一个彩色瀑布显示实现为 QwtPlot,其数据容器源自 QwtRasterData(m_SpectroPlot如下)。绘制的值对应于数据的 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 轴上显示颜色图时保持当前的独立轴间隔?

换句话说,我想在 yLeft 轴上显示区间 Z0-Z1 的颜色图,而在绘图上绘制的实际 Y 值是 Y0-Y1。似乎我需要以某种方式告诉绘图使用 yRight 而不是 yLeft 来缩放 Y 轴。

4

1 回答 1

2

在筛选了一些文档后,我找到了答案。需要告知数据附加到 yRight 轴而不是默认的 yLeft。

m_SpectroPlot->setYAxis(QwtPlot::yRight);
于 2013-02-18T23:01:10.030 回答