我很困惑,使用QwtPlot類來繪製一個自定義的座標系。 我的目標是繪製具有自定義比例的座標系,並在這些自定義比例上繪製網格線。以下是鱗片的值:定製QwtPlot的比例尺和網格線
x軸和y軸的比例:
x1=-0.642455
x2=0
x3=0.642455
y1=-0.642455
y2=0
y3=0.642455
我讀的QwtPlot class和QwtPlotGrid class的用戶指南。我在QwtPlotGrid發現了一個函數類叫做setxDiv,似乎它可以幫助,所以我寫了下面的代碼:
QList<double> doubleListmin;//min scale
QList<double> doubleListmed;//medium scale
QList<double> doubleListmaj;//major scale
doubleListmin.append(0.1);
doubleListmed.append(0.3);
doubleListmaj.append(0.642455);
QList<double> doubleList[3];
doubleList[0] = doubleListmin;
doubleList[1] = doubleListmed;
doubleList[2] = doubleListmaj;
QwtScaleDiv *xDiv = new QwtScaleDiv(-0.642455, 0.642455, doubleList);
//lowerbound is -0.642455, upperbound is 0.642455, doubleList customizes the scale
QwtPlotGrid *grid = new QwtPlotGrid();
grid->setXDiv(*xDiv);
//grid->updateScaleDiv(*xDiv, *xDiv);
grid->attach(this);
但它變成了對新QwtPlotGrid沒有影響,這不是」不改變其規模製度。
我想還有另一種方法:在QwtPlot中畫幾行。但我不知道該怎麼做。
有人幫我!!! 謝謝你提前〜
嗯,謝謝!它的工作原理!你知道如何清除這些線在一個插槽中,並重新顯示此qwtplot與其他線? – HYSuperman 2014-11-06 03:26:06
@HYSuperman你可以設置新值'm6-> setValue(0.642455 * 3,0);'或者如果你想刪除這些行,你可以刪除標記。例如。 '刪除m1; 刪除m2; 刪除m4; 刪除m5; 刪除m3; 刪除m6;' – Chernobyl 2014-11-06 15:03:04
我知道刪除的方法。但是這些行是在我的QwtPlot類的函數中動態創建的。我不能在功能外刪除它們,你看?我無法獲得函數範圍外的名稱。所以下次我想重新繪製整個QwtPlot時,我需要在QwtPlot類中有一些可以清除它的所有行的函數。 @Chernobyl – HYSuperman 2014-11-08 01:36:36