Qt-QCustomPlot(畫坐標系統)的簡單操作


一、QCustomPlot的簡單配置

 1    /* 清除所有曲線 */
 2     ui->curve->clearGraphs();
 3     /* 設置背景色 */
 4     ui->curve->setBackground(QBrush(QColor(255,255,255,0)));
 5 
 6     #if 0
 7     /* 設置右上角圖標可見 */
 8     ui->curve->legend->setVisible(true);
 9     /* 設置右上角圖標字體 */
10     ui->curve->legend->setFont(QFont("Helvetica", 9));
11     /* 設置右上角圖標背景色 */
12     ui->curve->legend->setBrush(QColor(255,255,255,0));
13     #endif
14     /* 設置坐標軸標題 */
15     ui->curve->xAxis->setLabel("時間(min)");
16     ui->curve->xAxis->setLabelFont(QFont("Ubuntu",12));
17     ui->curve->yAxis->setLabel("溫度(℃)");
18     ui->curve->yAxis->setLabelFont(QFont("Ubuntu",12));
19 
20     /* 設置坐標軸標題顏色 */
21     ui->curve->xAxis->setLabelColor(Qt::white);
22     ui->curve->yAxis->setLabelColor(Qt::white);
23     /* 設置坐標軸數字顏色 */
24     ui->curve->xAxis->setTickLabelColor(Qt::white);
25     ui->curve->yAxis->setTickLabelColor(Qt::white);
26     /* 設置坐標軸顏色和線粗 */
27     ui->curve->xAxis->setBasePen(QPen(QColor(255,128,4), 2));
28     ui->curve->yAxis->setBasePen(QPen(QColor(255,128,4), 2));
29 
30     /* 設置坐標軸范圍 */
31     QSharedPointer<QCPAxisTickerTime> timeTicker(new QCPAxisTickerTime);
32     timeTicker->setTimeFormat("%m");
33     ui->curve->xAxis->setTicker(timeTicker);
34     /* 設置x軸范圍是1-3601s,即60分鍾 */
35     ui->curve->xAxis->setRange(1, 3600);
36     /* 設置x軸分割線向外和分割線高度 */
37     ui->curve->xAxis->setTickLength(0, 5);
38     ui->curve->xAxis->setSubTickLength(0, 3);
39     /* 設置x軸分割線的顏色和線粗 */
40     ui->curve->xAxis->setTickPen(QPen(QColor(255,128,4),2));
41     ui->curve->xAxis->setSubTickPen(QPen(QColor(255,128,4),2));
42 
43     /* 設置y軸范圍 */
44     ui->curve->yAxis->setRange(0, 400);
45     /* 設置x軸分割線向外和分割線高度 */
46     ui->curve->yAxis->setTickLength(0, 5);
47     ui->curve->yAxis->setSubTickLength(0, 0);
48     /* 設置y軸分割線的顏色和線粗 */
49     ui->curve->yAxis->setTickPen(QPen(QColor(255,128,4),2));
50     ui->curve->yAxis->setSubTickPen(QPen(QColor(255,128,4),2));
51 
52     /* 設置網格線的顏色為透明 */
53     ui->curve->xAxis->grid()->setPen(QPen(QColor(255,255,255,0)));
54     ui->curve->yAxis->grid()->setPen(QPen(QColor(255,255,255,0)));
55 
56     /* 添加圖形 */
57     ui->curve->addGraph();
58     /* 設置畫筆顏色 */
59     ui->curve->graph(0)->setPen(QPen(Qt::green));
60     /* 設置畫刷 曲線和x軸圍成面積的顏色  */
61     //ui->curve->graph(0)->setBrush(QBrush(QColor(255,0,255)));
62     /* 設置右上角圖形標注名稱 */
63     ui->curve->graph(0)->setName("溫度");
64     for(int i = 0; i < 3600; i++)
65     {
66         /* 傳入數據*/
67         ui->curve->graph(0)->addData(i, startFireValue);
68     }
69 
70     /* 添加圖形 */
71     ui->curve->addGraph();
72     ui->curve->graph(1)->setPen(QPen(Qt::red, 2));
73     ui->curve->graph(1)->setName("升溫曲線");
74     /* 刷新曲線 */
75     ui->curve->replot();

 二、更多用法相關鏈接

https://www.qcustomplot.com/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM