专栏首页Pou光明美国新冠病毒确诊人数统计及预测

美国新冠病毒确诊人数统计及预测

之前二月初的时候利用Qt的charts模块、Qt读取excel表格数据,做了两个关于病毒感染人数的统计图。最近几天美国确诊人数不断新创第一,所以想看下能否有比较贴合的函数来拟合下,然后在结合官方数据看数学模型的效果。

之前的文章链接:

新冠肺炎数据图表化

数据来源:

https://coronavirus.1point3acres.com/

确诊人数图表:

又是我手填的excel表格:

我做的函数模型以及官方公布数据对比。

确诊人数受到多方面因素影响,如若不自由、吾宁死... 确诊人数自然是比较好预测的。

当然如果像国内这样,宁可经济短时间停摆也要减少伤亡,这种就不是函数的自然发展了。

从图中我们可以看到后期函数拟合效果还不错,所以预测明天确诊人数是215917......

贴上程序凑凑字数:

 ui->setupUi(this);

    m_girdLayoutChart = new QGridLayout(this);

    m_confirmSeries = new QLineSeries();
    m_confirmSeries->setName(tr("确诊"));
    m_confirmSeries->setPen(QPen(Qt::red, 3));

    m_mathFunction = new QLineSeries;
    m_mathFunction->setName(tr("函数模型"));
    m_mathFunction->setPen(QPen(Qt::green, 3));

    m_increaseConfirmSeries = new QLineSeries();
    m_increaseConfirmSeries->setName(tr("新增确诊"));
    m_increaseConfirmSeries->setPen(QPen(Qt::blue, 3));


    Document xlsxR("E:\\MyQtProject\\drawFunctionImage\\USA2019-nCov\\2019USA-nCov.xlsx");

    if ( xlsxR.load() ) // load excel file
    {
        for(int i=0; i<27;i++)
        {
            m_mathFunction->append(i+1, pow((i+1),3.7)+ 700*i );  
   //我自己瞎写的函数模型,指数函数后期太快,幂函数操作一下效果还好

            int confirmRow = i + 3; int confirmCol =  3;     //确诊人数
            int increaseConfirmRow = i + 3; int increaseConfirmCol =  4;  //新增确诊

            Cell* confirmCell = xlsxR.cellAt(confirmRow, confirmCol); // get cell pointer.
            Cell* increaseConfirmCell = xlsxR.cellAt(increaseConfirmRow, increaseConfirmCol);
            if ( confirmCell != nullptr )
            {
                QVariant confirmVar = confirmCell->readValue(); // read cell value (number(double), QDateTime, QString ...)
                QVariant increaseConfirmVar = increaseConfirmCell->readValue();

                m_confirmSeries->append(i+1, confirmVar.toInt());
                m_increaseConfirmSeries->append(i+1, increaseConfirmVar.toInt());
            }
            else
            {
                qDebug() << "[debug] cell is not set.";
            }
        }
    }
    else
    {
        qDebug() << "[debug][error] failed to load xlsx file.";
    }

    QChart *chart = new QChart();
//    chart->legend()->hide();
    chart->addSeries(m_confirmSeries);
    chart->addSeries(m_increaseConfirmSeries);
    chart->addSeries(m_mathFunction);
    chart->createDefaultAxes();
    chart->setTitle("2019USA-nCov");

    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);

    m_girdLayoutChart->addWidget(chartView);

小结:

别忘记今天还是一个特殊的日子—— 81192 !!!

我记录我来过我存在

本文分享自微信公众号 - Pou光明(pou0230),作者:PouG

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Qt 2D数据可视化之QCharts

    Qt Charts 在Qt4时代就有了,不过一直以来是商业许可的。QCharts可以在社区版使用后,Qt画图再也不用需要配置第三方的qcustomplot和qw...

    用户5908113
  • Qt ModelView教程——设置表头与可编辑Table

    点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,可以点个在看,让它可以帮助到更多老铁~

    用户5908113
  • 搜罗的面试题总结(一)

    sizeof()作用:是C/C++的一个操作符,返回一个对象或类型所占内存字节数。

    用户5908113
  • IDEA项目上传到github

    达达前端
  • 单细胞谱系分析重建人类肺末梢祖细胞分化过程

    当你的才华还撑不起你的野心时,请潜下心来,脚踏实地,跟着我们慢慢进步。不知不觉在单细胞转录组领域做知识分析也快两年了,通过文献速递这个栏目很幸运聚集了一些小伙伴...

    生信技能树jimmy
  • 在TKE集群中通过configmap管理nginx.conf

    许多容器会从配置文件、命令行参数或环境变量中读取配置信息,这些配置信息可以通过configmap达到解耦目的,同一配置管理

    马凌鑫
  • jquery 优化

    用户5760343
  • 干货 | 酷客多CEO郝宪玮:微信小程序,新型营销变革

    嘉宾演讲视频 Guest Video ? 温馨提示 本视频时长25分29秒,建议在wifi下观看 4月23日,由上海技术力量和青创社发起,由中生代技术、浦软孵化...

    IT大咖说
  • Spring Security OAuth 2.0 发放令牌接口地址自定义

    冷冷
  • UML建模(活动图)

    活动图是UML中一种行为图,它展示了控制流和对象流,并且强调它们的顺序和条件控制流。 下面换种方法,通过引入uml官方例子同时介绍活动图里面元素。

    加多

扫码关注云+社区

领取腾讯云代金券