我有一个彩色瀑布显示实现为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轴值。当我在上面的代码中用yLeft替换yRight时,颜色映射的显示间隔被锁定到数据的Y值的间隔。如何在yLeft轴上显示颜色图时保持当前的独立轴间隔?
换句话说,我想在yLeft轴上显示区间Z0-Z1的颜色图,而在图上绘制的实际Y值是Y0-Y1。似乎我需要以某种方式告诉情节使用yRight而不是yLeft来缩放Y轴。
答案 0 :(得分:2)
在筛选完一些文档后,我找到了答案。需要告知数据附加到yRight轴而不是默认的yLeft。
m_SpectroPlot->setYAxis(QwtPlot::yRight);