2013-02-18 57 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); 
相關問題