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

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

posted @   三岁玩童  阅读(360)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示