QWT座標刻度設定時的2個細節

2021-07-24 15:08:19 字數 1118 閱讀 6475

qwt的座標是有四個的,分別是qwtplot::yright,qwtplot::yleft,qwtplot::xbottom,qwtplot::xtop。

qwt的example中yright和yleft的刻度一般是相同的,如果想做成不一樣的效果,如圖箭頭a所指是數字刻度和箭頭b所指是邏輯刻度,就需要呼叫qwtplot::setaxisscale來設定。例如:

setaxisscale(qwtplot::yright,0.0,100.0,10);
指定代表特定座標的列舉qwtplot::yright就可以了,這裡設定右邊的縱座標從0到100,以10為刻度間隔。可是要實現箭頭b所指的邏輯刻度,那麼就要重定義刻度控制項:

setaxisscaledraw(qwtplot::yright,new axislogicscaledraw());
箭頭a所指的左側縱座標,可以如下也指定其刻度最大範圍

setaxisscale(qwtplot::yleft, dvaluemin, dvaluemax,100);
如果不調動setaxisscale方法,qwtplot將按照預設的數字方式設定刻度,並且會根據我們設定的資料曲線自動調整該座標刻度的最大範圍。

通過呼叫

setaxisscale(qwtplot::xbottom,m_daxisminx,m_daxismaxx);
設定好底部橫座標的最大值,最小值後,我們可以指定由主刻度構成的大格仔的個數,**如下:

setaxismaxmajor(qwtplot::xbottom,x_max_major);
x_max_major是個巨集定義,值是20.也可以指定由小刻度構成的小格仔的個數,**如下:

setaxismaxminor(qwtplot::xbottom,x_max_minor);
代表的意思是橫座標每個大格仔裡面需要設定10個小格仔。

中刻度一般可以不設定,plot會根據我們設定的大格仔和小格仔自動調整的。

Qwt中座標軸的設定

1自定義座標軸 x軸設定為系統時間 分鐘,秒數 如下 class timescaledraw public qwtscaledraw 自畫座標軸 virtual qwttext label double v const 重繪座標軸 刻度值 setaxisscaledraw qwtplot xbott...

2個WCHAR賦值時的問題

寫了個函式,用於擷取位置x到位置y長度的字串 如下 第乙個函式是輸入函式,第二個函式表示x的位置,第三個函式表示y的位置,第四個函式是輸出函式,即截獲的字串 uint ctimerdlg substring lpcwstr pstr,uint ubegin,uint uend,wchar pouts...

在js裡拼接html時的乙個小小細節

專案中需要在js裡拼接乙個table,部分 如下 var result result 員工號 姓名 部門 職位 技能等級 聯絡 籍貫 現住址 在職狀態 入職時間 離職時間 身份證號 for var i 0 i result staffviewlist i staff.staff number res...