2013-02-18 58 views
0

我有一个彩色的瀑布显示实现为一个QwtPlot与从QwtRasterData派生的数据容器(下面的m_SpectroPlot)。绘制的值对应于数据的Z轴,取自图的右侧显示的颜色图。代码如下所示:我可以在左侧显示QWT图的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轴。

回答

2

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

m_SpectroPlot->setYAxis(QwtPlot::yRight); 
相关问题