QCustomPlot(二):圖形繪制基礎(chǔ)

本文為QCustomPlot官方教程的中文翻譯版始鱼。
本教程使用customPlot 指針指向 QCustomPlot 實(shí)例。如果您在 QtCreator 中提升了一個(gè)小部件,可以通過 ui->customPlot (或您為小部件指定的任何名稱)訪問相應(yīng)的小部件扫皱。

您可以通過customPlot->addGraph()在圖中創(chuàng)建一個(gè)新圖形 臀稚。然后逗扒,通過customPlot->graph(0)->setData(..)為圖形分配一些數(shù)據(jù)點(diǎn)蜈出,例如以兩個(gè)QVector<double>的形式表示 x 和 y ()秩伞。QCustomPlot 使用術(shù)語 而不是xy的原因是為了允許更靈活地分配哪個(gè)軸具有什么作用吁伺。因此饮睬,如果您將左軸定義為“關(guān)鍵軸”,將底部定義為“值軸”篮奄,您可以在圖的左側(cè)繪制一個(gè)直立的圖形捆愁。默認(rèn)情況下,QCustomPlot 小部件有四個(gè)軸:customPlot->xAxis, yAxis, xAxis2, 和 QCPAxis類型的yAxis2
窟却,對應(yīng)于下昼丑、左、上夸赫、右軸菩帝。它們的范圍定義了繪圖的哪個(gè)部分當(dāng)前可見:customPlot->xAxis->setRange(-1, 1)。

要對繪圖進(jìn)行任何類型的更改茬腿,請調(diào)用customPlot->replot() 呼奢。請注意,當(dāng)小部件調(diào)整大小和觸發(fā)內(nèi)置用戶交互時(shí)切平,將自動(dòng)發(fā)生重新繪制握础。例如用鼠標(biāo)拖動(dòng)軸范圍和用鼠標(biāo)滾輪縮放這樣的用戶交互。

// generate some data:
QVector<double> x(101), y(101); // initialize with entries 0..100
for (int i=0; i<101; ++i)
{
  x[i] = i/50.0 - 1; // x goes from -1 to 1
  y[i] = x[i]*x[i]; // let's plot a quadratic function
}
// create graph and assign data to it:
customPlot->addGraph();
customPlot->graph(0)->setData(x, y);
// give the axes some labels:
customPlot->xAxis->setLabel("x");
customPlot->yAxis->setLabel("y");
// set axes ranges, so we see all data:
customPlot->xAxis->setRange(-1, 1);
customPlot->yAxis->setRange(0, 1);
customPlot->replot();

輸出應(yīng)如下所示悴品。

刻度步長和標(biāo)簽由軸當(dāng)前使用的軸刻度自動(dòng)選擇 禀综。這是 類型QCPAxisTicker的一個(gè)實(shí)例简烘,可以通過如xAxis->ticker().訪問。您可以通過 xAxis->ticker()->setTickCount(6)調(diào)整ticks 數(shù)量定枷,ticker 嘗試創(chuàng)建的大致ticks 數(shù)量孤澎。默認(rèn)軸標(biāo)記非常適合簡單的數(shù)字顯示,但也有專門的類依鸥,例如時(shí)間跨度亥至、日歷日期、類別贱迟、pi(或其他符號單位)和對數(shù)軸姐扮。有關(guān)詳細(xì)信息,請參閱 QCPAxisTicker文檔衣吠。

軸的刻度標(biāo)簽(數(shù)字)永遠(yuǎn)不會(huì)超出小部件邊框茶敏,即使它們變寬也是如此。這是由于默認(rèn)啟用的自動(dòng)頁邊距計(jì)算缚俏。如果刻度標(biāo)簽和軸標(biāo)簽需要更多空間惊搏,它會(huì)使軸矩形縮小。如果您不希望自動(dòng)確定邊距忧换,請通過調(diào)用customPlot->axisRect()->setAutoMargins(QCP::msNone)禁用該行為恬惯。然后您可以通過 customPlot->axisRect()->setMargins(..).手動(dòng)調(diào)整邊距。

QCustomPlot(一):基礎(chǔ)
QCustomPlot(三):圖形繪制基礎(chǔ)之樣式修改

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亚茬,一起剝皮案震驚了整個(gè)濱河市酪耳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刹缝,老刑警劉巖碗暗,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梢夯,居然都是意外死亡言疗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門颂砸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來噪奄,“玉大人,你說我怎么就攤上這事人乓」4迹” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵撒蟀,是天一觀的道長。 經(jīng)常有香客問我温鸽,道長保屯,這世上最難降的妖魔是什么手负? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮姑尺,結(jié)果婚禮上竟终,老公的妹妹穿的比我還像新娘。我一直安慰自己切蟋,他們只是感情好统捶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柄粹,像睡著了一般喘鸟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驻右,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天什黑,我揣著相機(jī)與錄音,去河邊找鬼堪夭。 笑死愕把,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的森爽。 我是一名探鬼主播恨豁,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼爬迟!你這毒婦竟也來了橘蜜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤雕旨,失蹤者是張志新(化名)和其女友劉穎扮匠,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凡涩,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棒搜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了活箕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片力麸。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖育韩,靈堂內(nèi)的尸體忽然破棺而出克蚂,到底是詐尸還是另有隱情,我是刑警寧澤筋讨,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布埃叭,位于F島的核電站,受9級特大地震影響悉罕,放射性物質(zhì)發(fā)生泄漏赤屋。R本人自食惡果不足惜立镶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望类早。 院中可真熱鬧媚媒,春花似錦、人聲如沸涩僻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逆日。三九已至嵌巷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屏富,已是汗流浹背晴竞。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狠半,地道東北人噩死。 一個(gè)月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像神年,于是被迫代替她去往敵國和親已维。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容