现有确诊疫情全球动态变化,视屏制作超简单!
新冠自去年底开始(目前所知),今年1月底爆发以来,已经过去了4个来月。全球的确诊人数从几千,调到几万,几十万,再到目前的几百万,一次次刷新了我们的认知。
为了更加生动的展现过去4个月的变化趋势,我们用数据挖掘手段制作了下面的视频。视屏是各国或地区现有确诊人数变化动态。现有确诊人数定义为:累计确诊人数 减去 死亡人数 再减去 病愈人数。即目前还在生病,暂时没有康复的人数:
上面的视屏其实挺震撼的,世界本来有一个机会遏制这个疫情全球爆发,却浪费了1个月左右时间。现有确诊人数升了又降,降了又升!
技术来说,上面的视屏制作过程简单实用,分两步实现:
1)用python生成每天的地图可视化图片
2)用Linux命令行一键生成视屏
1. 用python 生成图片
下面举例为jupyter notebook环境中:
首先你的数据格式可能是这样的(data frame名字 df):
下面的code可以用来生成世界地图热力图:
import math
import plotly.express as px
import plotly.offline as pyo
import plotly.graph_objs as go
df['size']=df['现有确诊'].apply(lambdax: math.sqrt(x) if x>0 else 0)
fig = px.scatter_geo(df, lat='纬度',lon='经度',
title='公众hao:robot-learner',
size='size',
color='现有确诊'
)
fig.write_image("test.png")
效果如下:
用上面的方法,我们把每一天的数据生成一张张的图片。把这些图片存下来,总共100多张图片。
2. Linux下生成视屏
一行命令即可搞定:
ffmpeg -r 5 -i pic%3d.png -pix_fmt yuv420p -r 24 movie.mp4
上面ffmpeg是app,如果没有装,apt-get或者yum install 安装一下即可。
-r 5:是每秒钟用5张图片作为素材,这个控制了视屏的时间长度。
-r 24:是为了达到视屏连贯的要求,每秒钟最好用24张图片。所有中间不够的图片,ffmpeg会重复使用5张图片来填充。
pic%3d.png: 我们的输入图片都用 pic001.png, pic002.png。。。pic108.png格式命名,所以按照顺序使用。
-pix_fmt yuv420p:需要用来和一些播放器兼容
Done! 这个方法简单吧?
往期好评文章推荐:
阅读原文 关键词
疫情
格式
图片
动态
方法
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。