首页 > 其他 > 详细

用QT的 QChar 展示 "COVID-19" 新增和死亡数量变化曲线

时间:2020-05-10 21:19:41      阅读:104      评论:0      收藏:0      [点我收藏+]

1.关键代码:

 1 QChart *QcharWidget::createLineChart() const
 2 {
 3     QChart *chart = new QChart();
 4     chart->setTitle("Line chart");
 5 
 6     DataTable::const_iterator it = m_dataTable.constBegin();
 7     while (it != m_dataTable.constEnd()) {
 8         QLineSeries *series = new QLineSeries();
 9         series->setName(it.key());
10         foreach(auto it_data,it.value()){
11            series->append(it_data.first, it_data.second);
12         }
13         chart->addSeries(series);
14         ++it;
15     }
16     createCommonAxis(chart);
17     return chart;
18 }
19 
20 void QcharWidget::createCommonAxis(QChart *chart, QStringList *categories) const
21 {
22     //X
23     QAbstractAxis* axisX = nullptr;
24     if(categories!=nullptr)
25     {
26         axisX = new QBarCategoryAxis();
27         qobject_cast<QBarCategoryAxis*>(axisX)->append(*categories);
28     }else{
29         axisX = new QDateTimeAxis();
30         qobject_cast<QDateTimeAxis*>(axisX)->setFormat("MM-dd");
31     }
32     chart->addAxis(axisX, Qt::AlignBottom);
33 
34     //Y
35     QValueAxis *axisY = new QValueAxis;
36     axisY->setRange(0,100000);
37     axisY->setLabelFormat("%d");
38     chart->addAxis(axisY,Qt::AlignLeft);
39 
40     //
41     foreach(auto serier,chart->series()){
42         serier->attachAxis(axisX);
43         serier->attachAxis(axisY);
44     }
45 }

2.效果

技术分享图片

 GIF:

技术分享图片

 3.数据来源

技术分享图片

 

 技术分享图片

 4.完整源代码:

https://github.com/SanSuiWanTong/QT_ToolBox

用QT的 QChar 展示 "COVID-19" 新增和死亡数量变化曲线

原文:https://www.cnblogs.com/sansuiwantong/p/12864563.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!