很多网友想知道这个随时间变化的新型肺炎确诊病例的形状地图是怎么做的,我们今天详细介绍一下制作过程。
数据准备
头条的疫情地图提供数据源,我们可以直接取过来作为我们的数据源:
用谷歌浏览器检查,到控制台中找到areaData,这个areaData就是我们要找的数据源,不过不能直接复制,需要一个用控制台命令复制出json数据:
在这个对象后面的数据上右键后出现Store as global variable,点击一下左键:
下面的“>”后面会提示:
我们在下面的“>”后面输入控制台命令,然后回车
copy(temp1)
这样JSON数据就复制好了,我们到打开的Power Query编辑器中,粘贴到空白查询里就可以开始后续的处理了。
刚粘贴好是文本格式,我们在分析中选择JSON就可以得到想要的数据集:
点击JSON后是这样的结果:
我们想要的数据在这个记录的provinces名称下,我们点击后面的list就会得到一个记录列表:
然后我们转换成表格,展开记录:
展开后还有两个列表列,一个是根据城市划分的当天的病例数据,一个是时间序列的省份的病例数据,我们要做的随时间变化形状地图,需要的是时间序列数据,保留id,name,series三列,展开时间序列数据这一列:
最后调整一下数据类型,id列要设置成整数,后面形状地图会用到,全部设置好就可以加载数据了。
形状地图
数据加载之后我们添加一个形状地图,用id创建,默认的是美国地图,我们要显示中国地图就要再做些准备工作。
Power BI Desktop支持的是topojson格式的地图,JSON格式地图有两种格式:
- GeoJSON
- TopoJSON
TopoJSON格式的地图文件小,这也是Power BI支持这种格式的主要原因。Echarts用的就是GeoJSON格式地图,网上有很多资源,那么能不能把GeoJSON转换成TopoJSON格式呢?我们需要一个网站来实现在线转换:
我们在这个网站中打开GeoJSON格式的地图:
这个地图的索引用的是两位行政区划编码,和我们的数据相吻合,而汉语的名称就不一定完全一致,所以作图时推荐使用行政区划编码。另存后保存的文件是map.topojson,我们在Power BI Desktop中直接添加这个地图就好了。
已经可以显示中国地图了,我们还需要进行一下颜色的设置:
因为我们的数据是时间按序列数据,要显示其中一天的数据,我们要在筛选的状态下进行设置。到这里我们的形状地图就做好了。
Play Axis
我们之前就讲过的播放功能的视觉对象。
用date数据来播放:
已经可以播放了,接下来要做的就布局调整
卡片图显示日期和数据
用卡片图显示日期和时间,调整好大小、位置、颜色就可以录制GIF了
閱讀更多 EXCEL數據處理與分析 的文章