将各个省市的表现在地理图上表示出来,可以使数据看起来更直观。pyecharts里的map包可以帮助我们实现这样的功能。
1.首先,为了地图上的数据能显示完全,先加载好需要的城市地理坐标数据。
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
pip install echarts-united-kingdom-pypkg
2.输入数据。
data=[("广东",10430.03),("山东",9579.31),("河南",9402.36),("四川",8041.82),("江苏",7865.99),("河北",7185.42),("湖南",6568.37),("安徽",5950.1),("浙江",5442),("湖北",5723.77),("广西",4602.66),("云南",4596.6),("江西",4456.74),("辽宁",4374.63),("黑龙江",3831.22),("陕西",3732.74),("山西",3571.21),("福建",3552),("重庆",2884),("贵州",3476.65),("吉林",2746.22),("甘肃",2557.53),("内蒙古",2470.63),("上海",2301.391),("台湾",2316.2),("新疆",2181.33),("北京",1961.2),("天津",1293.82),("海南",867.15),("香港",709.76),("青海",562.67),("宁夏",630.14),("西藏",300.21),("澳门",55.23)]
注意:省市不要包含“省"、"市"等字。
data也可以是数据框。
import pandas as pd
data=pd.DataFrame(data)
data.columns=['city','popu']
3.导入Map包。初始化配置。
from pyecharts import Map
map=Map("各省市人口数", "单位:万人", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59')
4.配置图形参数。
attr=data['city']
value=data['popu']
map.add("", attr, value, visual_range=[0, 5000], visual_text_color="#fff", symbol_size=15, is_visualmap=True,is_label_show=True)
5.保存地图并查看。
map.render()
6.maptype可以选世界地图,也可以绘制省市地图。
比如绘制浙江省的数据地图并保存。注意,这里的城市要加一个"市"字。
value = [220, 193, 255,277, 365,98,145,456,120,160,490]
attr = ['杭州市','宁波市','温州市','绍兴市','湖州市','嘉兴市','金华市','衢州市','舟山市','台州市','丽水市']
map = Map("浙江数据表现", width=1200, height=600)
map.add("", attr, value, maptype='浙江',visual_range=[0, 200], is_visualmap=True, visual_text_color='#000')
map.render()