用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.完整源代码:
分类:
QT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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最大的设计失误
· 单元测试从入门到精通