Qt Qcustomplot座標軸縮放 拖動等調整

2021-08-17 20:10:57 字數 1510 閱讀 3977

qcustomplot入門: qcustomplot入門教程

qcustomplot中可以設定座標軸屬性:

1、 setinteractions函式

//設定基本座標軸(左側y軸和下方x軸)可拖動、可縮放、曲線可選、legend可選、設定伸縮比例,使所有圖例可見

customplot->setinteractions(qcp::irangedrag

|qcp::irangezoom

| qcp::iselectaxes

| qcp::iselectlegend

| qcp::iselectplottables);

qcp還有imultiselect等其他屬性,讀者可自行嘗試

這種方法只能設定基礎座標軸

2、setrangezoomaxes函式

使座標軸可以伸縮

在2.0系列版本的qcustomplot中,可以對通過座標軸列表對兩套座標軸進行設定:

qlist

axes;

axes << customplot->yaxis2 << customplot->xaxis2 << customplot->yaxis << customplot->xaxis;

customplot->axisrect()->setrangezoomaxes(axes);

但在1.0系列版本中只能設定一套,並且兩套座標軸都進行設定只能有一套座標軸起作用:

customplot->axisrect()->setrangezoomaxes(ui->widget->xaxis, ui->widget->yaxis);
3、根據影象最高點最低點自動縮放座標軸

繪製實時資料時,需要每次資料繪製完成就呼叫此函式,否則不會生效(是根據當前點調整座標)。

//y軸

customplot->graph(2)->rescalevalueaxis(true);

//x軸

customplot->graph(2)->rescalekeyaxis(true);

//x、y軸

customplot->graph(2)->rescaleaxes(true);

4、setrangezoomfactor

設定伸縮比例 setrangezoomfactor( double horizontalfactor, double verticalfactor );可以分別設定x,y方向

customplot->axisrect()->setrangezoomfactor(1.2,2.2);/x方向為1.2
5、過載滑鼠滾輪事件和按鈕事件

這種方法相對來說比較麻煩,嘗試了上面的方法後我放棄了使用這種方法,但這種方法的靈活性是以上方法無法比擬的

其他qcustomplot座標軸屬性可參考:

Qt QCustomPlot樣式設定

qcustomplot pcustomplot new qcustomplot 設定畫布背景色 pcustomplot setbackground qcolor 24 47,81 設定座標名稱顏色 pcustomplot xaxis setticklabelcolor qcolor 146 168 ...

QT QcustomPlot初次使用

qt qcustomplot初次使用 qcustomplot是qt提供的小型第三方圖表庫,支援靜態 動態曲線 柱狀圖 蠟燭圖 頻譜圖等。使用方便,僅需在專案中加入標頭檔案qcustomplot.h和qcustomplot.cpp原始檔即可,或者把它當做乙個庫來新增到專案當中,需要在pro檔案加入 d...

MFC 螢幕座標 視窗座標 邏輯座標 物理座標

int nwidth getsystemmetrics sm cxscreen 螢幕寬度 int nheight getsystemmetrics sm cyscreen 螢幕高度 int cx getsystemmetrics sm cxfullscreen int cy getsystemmet...