定制加工
【Dash搭建可视化网站】项目10:疫情数据可视化大屏制作步骤详解
2025-01-03 12:19

手动反爬虫:原博地址 https://blog.csdn.net/lys_828/article/details/128605640

 
 
 
 
 
 
 
 
 

主框架就是app.py项目初始化文件和index.py主程序运行文件,其中app.py文件中的信息较为简单,就是创建一个dash的应用,代码如下

 

index.py文件中引入初始化后的应用,然后进行布局及运行初始化设置。

 
 
 
 

项目的头部信息包含了三个部分,可以按照一行三列的布局设置,第一列放置图片居左,第二列放置标题居中,第三列放置更新时间居右。

 

其中图片的加载和位置设置,以及标题文字的大小及距离的设置相对简单,最主要解决第三列更新时间的问题,首先给定一个今天的时间作为样例,后续根据接口数据获取的具体时间再更换,在api.ipynb文件中将时间转化为目标样式的代码如下。

 
 

将上述代码复制粘贴到api.py文件中并通过语句导入到header.py文件,完善此文件的信息,代码如下。

 
 
 
 

通过观察最终的图片样式,卡片数据部分的内容基本布局一致,包含了上中下三个部分,第一部分就是文字说明统计类型,中间为该类型的数据,最下面是增加数量和百分比。可封装一个函数,保留数据接口,设置参数为,四个参数,先用简单示例数据进行赋值,设置完毕后,再处理数据。

 

接着完善该文件,此时全部代码如下。

其中api.py文件是为提供数据接口,api.iypnb文件方便进行数据处理和调式工作。前面已经用来处理更新的时间格式,这里就针对真实的Covid数据进行数据导入。此项目使用的数据来自于约翰霍普金斯大学系统科学与工程中心(JHU CSSE)运营的2019年新型冠状病毒可视化仪表盘的数据存储库,数据来源网址:COVID-19

3.5.1 数据获取

Covid数据中的确诊、死亡、治愈信息所在网址

 

使用pandas可以直接读取网址链接中的数据,但是前提是用户可以正常访问github。如果无法正常访问Github网址,后续会把读取到的数据保存到本地,并放置在assets文件夹下新建的data文件夹下, 读者可以在下载项目案例后使用本地csv文件读取数据。读取数据的代码如下

 
 
 

考虑进一步提取有治愈数据的信息,首先确定何时该数据库不再统计此部分数据。此处判断的方式就是对每个数值字段进行求和汇总,如果连续5个字段的汇总值都是0,说明连续5个字段中的第一个字段就是数据库停止更新的日期。

 
 
 
 

可以把数据保存到本地assets文件夹下的data文件夹中,由于没有data文件夹,需要先创建,可以手动在assets文件夹中创建,也可以使用代码进行创建,并把数据保存到此文件夹中,代码如下及输出结果如下。

 
 

3.5.2 数据处理

重新读取本地文件数据(当然也可以直接使用获取的数据。由于已经在data文件生成了数据文件,所以在api.py文件中就不需要再重新获取数据,直接读入数据就行,此处的重新读取本地文件数据就是为了方便把代码直接复制粘贴到api.py文件中

 
 

为了保证同一性,把三个数据进行合并,最终的数据量以死亡和确诊数据量为准,把治愈数据合并进来,最终形成完整数据。

 
 
 
 
 
 
 
 

3.5.3 接口数据导入header.py和cards.py文件中使用

在api.ipynb文件中核实无误后,把代码转移到api.py文件中,此时api.py文件中的代码如下。

 

然后将api.py中的数据导入到cards.py文件和header.py文件中,进行数据替换。首先更换header.py文件中的数据更新时间,为简化header.py文件内容,数据处理工作在api.py文件中完成后再传入,保证后续使用时候只需要修改数据接口文件,而不用动其它文件。在api.py文件中添加如下代码获取数据最近的更新时间。

 

然后把导入到header.py文件中,顺带修改一下文件中样式,使之和最终效果的布局一致。

 
 
 
 
 
 
 
 
 
 
 
 
 

以中国为例,数据更新之日的新增确诊数据和较昨日新增的确诊数据获取方式如下。

 
 
 

此时indicators.py文件中的代码如下。

 
 
 
 
  • 对于indictors图形容器和后面回调的Output的内容存在了重复,可以考虑列表推导式简化
  • 然后对于颜色参数可以添加到字体和数值中
  • 图像的高度也需要调整
 
 
 

此文件功能就是对Dropdown组件选中的标签,进行疫情四项指标的占比输出。主要的问题在于获取各项指标数据,由于各指标名称和字段名称是相同的,所以还是使用列表推导式的方式进行简化代码。构建pie图核心参数一个是,还有一个,这两参数都与四个指标相关,最终的代码如下。

 
 
 

该文件的功能是按照Dropdown组件选取的标签,绘制对应国家/地区的最近30天的疫情确诊数据,以及近七天的平滑数据曲线。首先在api.ipynb文件中获取最近30天的疫情确诊数据,以中国为例。

 
 
 
 

现在关键点落到地理信息的匹配上,获取的数据中虽然有国家/区域信息,但是和方法绘制地图时需要的地理数据不一致,因此需要将目前手上的数据通过某一特定标识进行转化。

 
 
 
 
 

setting.py文件中的全部代码如下。(其中只有两个属性是项目9中没有的属性,div_container属性控制四部分的整体布局,card_container属性用于控制组件的样式

    以上就是本篇文章【【Dash搭建可视化网站】项目10:疫情数据可视化大屏制作步骤详解】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/19972.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
华为Mate 60大降价!仅4699元入手华为手机降价「华为Mate 60大降价!仅4699元入手」
促销大降价!现仅需5199元就能入手一款高性能的手机。这款手机的设计风格与以往的Mate系列相似,共有四种颜色可供选择。机身采用
保险资金上调入市比例
  新华社北京4月8日电(记者李延霞、张千千)金融监管总局8日对外发布《关于调整保险资金权益类资产监管比例有关事项的通知》
清明假期北京60个重点商圈客流量同比增长11.4%
北京商报讯(记者 胡静蓉)4月6日,北京市商务局发布清明假期消费市场数据显示,假期三天,市商务局重点监测的百货、超市、专业
我爱我家:去年营收125.4亿元,核心城市市占率继续提高
4月9日,房地产经纪企业我爱我家控股集团有限公司(000560.SZ)发布2024年财报。数据显示,2024年,我爱我家实现住房总交易额(g
华为开发者模式关闭教程:步骤与注意事项华为手机开发者选项在哪里「华为开发者模式关闭教程:步骤与注意事项」
华为手机开发者模式关闭教程很多使用手机的朋友在开发或者测试应用时,需要用到华为手机的开发者模式。但在使用完毕后,出于安全
苹果手机怎么关掉振动苹果手机勿扰模式怎么关闭「苹果手机怎么关掉振动」
苹果手机关闭振动的教程苹果手机提供了多种方式来关闭振动,以满足不同用户的需求。以下是详细的步骤指导:方法一:通过控制中心
窦唯的结局,早已注定
“人潮人海中,有你有我,相遇相识相互琢磨。”窦唯隐退多年,娱乐圈中仍然有他的传说。他是唯一一个在纷乱繁杂的演艺圈里,被用
生化危机4:白金版生化危机4手机版「生化危机4:白金版」
游戏介绍:We've given Resident Evil 4 the Platinum treatment! This update contains the COMPLETE Resident Evil 4 saga
投资者大规模撤出原油看跌基金,创2020年以来最大资金外流
智通财经APP获悉,一只与原油市场下跌挂钩的交易型开放式产品(ETF)刚刚经历了自2020年以来最大规模的资金外流。随着原油价格暴跌
对美加征84%关税!中方坚决反制再出“组合拳”
美国东部时间4月8日,美方将此前宣布的对中国输美产品加征34%所谓“对等关税”,进一步提高50%至84%。国务院关税税则委员会今天