是这学期前端课(数据可视化)的一部分图表,实现了每月疫情地图+每月微博热点复合展示,用timeline组件动态播放每个月的数据。
这个组队的project拿了课程的二等奖,也帮助我以百分制里99分的成绩拿到了满绩,还是比较快乐的,于是来记录一下。
效果展示
废话不多说先上效果:
左半部分是每月现存疫情确诊数,右边是相对应的每月热点信息,气泡大小表示热度的高低,可以展示疫情情况对当月社会热点的影响。timeline组件动态显示每月的情况,2000毫秒变换一次月份。
前期准备
图表
主要使用的是百度echart团队的作品修改而来,网址:
https://echarts.apache.org/examples/en/index.html
基本上各种echart组件都有,对于我这种需要几天速成一个project
map
timeline
graph
本来一开始使用wordcloud来展示每月热点,但是发现echart3已经不支持wordcloud了。在网上查了些导入wordcloud的资料,试了俩小时没有成功导入。后续想到使用graph展示热点信息,效果也不错。
数据
数据一部分是自己从微博上爬虫得来的(热点信息),一部分是在github上仓库里找到的(疫情地图数据)。
提供几个我用到的GitHub仓库:
【全国新型冠状肺炎疫情每日数据动态】https://github.com/JackieZheng/2019-nCoV
【2019新型冠状病毒疫情实时爬虫】https://github.com/BlankerL/DXY-COVID-19-Crawler
关键部分的代码
使用timeline的options属性来实现动态和组合。
1 | options:[ |
通过上述代码就可以实现组件的组合,但是为了美观还需要指定每个组件的位置。
map图表位置和大小的显示样式:
1 | layoutCenter: ['45%', '50%'],//距离左右,上下距离的百分比 |
graph的图表位置显示样式:
1 | top: '25%', // 图表距离容器顶部的距离 |