自打上回和两个妹子合作一次美赛之后,最近被同学拉去当数模代码手(队里没有妹子,心生抗拒哈哈),负责处理下数据和coding一些比较好看的图表。刚巧有个需求是展示地理分布图。想了一下之前在Excel跟Matlab都有做过热力图,但没在python上试过,所以动手尝试了一下可视化神器pyecharts。
安装
目前pyecharts主要有v0.5.X 和 v1 两个大版本,相互之间有些函数的写法不太兼容。我图方便,还是用v0.5.1的版本,因为是用anaconda+pycharm搭环境,首先进入base环境:
activate base
再用pip安装:
pip install pyecharts==0.5.10
地图文件有以下五类,分别是:
全球国家、中国省级、中国市级、中国县级和其他地图,也是用pip安装:
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
绘制中国省级地图
from pyecharts import Map
import math
# data
province_distribution = {'河南': 10,'广东': 9......}
# 隐私数据,不作展示
provice = list(province_distribution.keys())
values = list(province_distribution.values())
for i in range(len(values)):
values[i]=math.floor(values[i])
map = Map("中国地图", '中国地图', width=1200, height=600)
map.add("", provice, values, visual_range=[0, 1000], maptype='china', is_visualmap=True,is_label_show=True,
visual_text_color='#000')
# is_label_show=True用于显示省份标注
map.render(path="中国地图.html")
效果
网页右边可以选择下载图片。
参考文章
https://blog.csdn.net/zerow__/article/details/88785759