翻譯|使用教程|編輯:鮑佳佳|2021-08-23 10:34:35.443|閱讀 389 次
概述:本示例顯示了如何創(chuàng)建帶有負條的條形圖。以溫度圖作為示例進行講解。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt組件推薦:
該示例顯示了如何創(chuàng)建帶有負條的條形圖。對于我們的示例,我們使用溫度數(shù)據(jù)。
要從Qt Creator運行示例,請打開歡迎模式并從示例中選擇示例。有關更多信息,請訪問構建和運行示例。
首先,我們創(chuàng)建兩個 barset 并將數(shù)據(jù)附加到它們。一組代表最低溫度,另一組代表最高溫度。
QBarSet *low = new QBarSet("Min"); QBarSet *high = new QBarSet("Max"); *low << -52 << -50 << -45.3 << -37.0 << -25.6 << -8.0 << -6.0 << -11.8 << -19.7 << -32.8 << -43.0 << -48.0; *high << 11.9 << 12.8 << 18.5 << 26.5 << 32.0 << 34.8 << 38.2 << 34.8 << 29.8 << 20.4 << 15.1 << 11.8;
我們創(chuàng)建系列并將條形集附加到它。該系列擁有 barsets 的所有權。
QStackedBarSeries *series = new QStackedBarSeries(); series->append(low); series->append(high);
在這里,我們創(chuàng)建圖表對象并向其添加系列。我們使用 setTitle 設置圖表的標題,然后通過調用 setAnimationOptions( QChart::SeriesAnimations )打開系列的動畫
QChart *chart = new QChart(); chart->addSeries(series); chart->setTitle("Temperature records in celcius"); chart->setAnimationOptions(QChart::SeriesAnimations);
要在軸上顯示類別,我們需要創(chuàng)建一個QBarCategoryAxis。在這里,我們創(chuàng)建一個帶有類別列表的類別軸,并將其添加到底部對齊的圖表中,作為 x 軸。圖表擁有軸的所有權。對于 y 軸,我們使用與左側對齊的值軸。我們更改 y 軸的范圍,因為這比自動縮放提供更好的結果。
QStringList categories = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; QBarCategoryAxis *axisX = new QBarCategoryAxis(); axisX->append(categories); axisX->setTitleText("Month"); chart->addAxis(axisX, Qt::AlignBottom); QValueAxis *axisY = new QValueAxis(); axisY->setRange(-52, 52); axisY->setTitleText("Temperature [°C]"); chart->addAxis(axisY, Qt::AlignLeft); series->attachAxis(axisX); series->attachAxis(axisY);
我們也想展示傳奇。為此,我們從圖表中獲取圖例指針并將其設置為可見。我們還通過將其對齊設置為Qt::AlignBottom將圖例放置在圖表的底部。
chart->legend()->setVisible(true); chart->legend()->setAlignment(Qt::AlignBottom);
最后,我們將圖表添加到視圖中。我們還為圖表視圖打開了抗鋸齒功能。
QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing);
圖表已準備好顯示。我們將圖表設置為窗口的中央小部件。我們還設置圖表窗口的大小并顯示它。
QMainWindow window; window.setCentralWidget(chartView); window.resize(600, 300); window.show();
================================================== ==
想要了解或購買Qt正版授權的朋友,歡迎
Qt技術交流交流群開通,QQ搜索群號“765444821”或者掃描二維碼加入
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: