pyecharts绘制地图

python 绘制地图

环境准备

1.1 安装必备绘画库

亲身体验,最新版的pyecharts使用不来,通过百度寻得的教学推荐版本 0.1.9.4 可以绘制完成世界地图,国家地图以及市级地图,但是不能绘制县区级的地图,故此实验之下选择 0.5.10 版本,可绘制县区级地图。

安装pyecharts
pip install pyecharts==0.5.10
安装国家、城市、县区的集成库
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg

1.2 绘制图形

from pyecharts import Map

1.2.1 绘制世界地图

attr与value是非必传数据,若是不传值,在地图中会是白色的色块,整个地图呈现的是轮廓,传值的情况下,被传值的国家或城市会被上色,更加鲜明的呈现出特征

# 地图数据
attr = ["China", "Canada", "Brazil", "Russia", "United States", 'Libya', 'Australia']
value = [40, 30, 50, 60, 70, 80, 90]

map0 = Map("世界地图示例", width=1600, height=800)
map0.add("世界地图", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000')
map0.render(path="./data/世界地图.html")

pyecharts绘制地图

1.2.2 绘制中国地图

# 省和直辖市
province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9,
                         '浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3,
                         '云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '天津': 1}
provice = list(province_distribution.keys())
values = list(province_distribution.values())

# maptype='china' 只显示全国直辖市和省级
# 数据只能是省名和直辖市的名称
map = Map("中国地图", '中国地图', width=1600, height=800)
map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True, visual_text_color='#000')
# map.show_config()
map.render(path="./data/中国地图.html")

pyecharts绘制地图

1.2.3 绘制河南地图

# 城市 -- 指定省的城市 xx市
city = ['郑州市', '安阳市', '洛阳市', '濮阳市', '南阳市', '开封市', '商丘市', '信阳市', '新乡市', '许昌市', '三门峡市', '平顶山市']
values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1, 7.21, 9.01, 8.28]

# 数据是省内所属城市名
map2 = Map("河南地图", '河南', width=1600, height=800)
map2.add('河南', city, values2, visual_range=[1, 10], maptype='河南', is_visualmap=True, visual_text_color='#000')
# map2.show_config()
map2.render(path="./data/河南地图.html")

pyecharts绘制地图

1.2.4 绘制信阳市地图

# 区县 -- 具体城市内的区县  xx县
quxian = ['潢川县', '息县', '浉河区', '平桥区', '光山县', '商城县', '罗山县']
values3 = [3, 5, 7, 8, 2, 4, 1]

# 信阳地图 数据为信阳市下的区县
map3 = Map("信阳地图", '信阳', width=1600, height=800)
map3.add("信阳", quxian, values3, visual_range=[1, 10], maptype='信阳', is_visualmap=True, visual_text_color='#000')
map3.render(path="./data/信阳地图.html")

pyecharts绘制地图

1.3 所用函数参数介绍

Map的第一个参数是 绘制地图的标题 ,第二个参数是 标题下的说明文字 ,width与height分别是绘制地图所在的区域范围的宽和高

map.add()第一个参数是 绘制地图的标识,当同一区域绘制了不同的地图,可以通过标识展示自己想要的地图 ;
第二个参数是 当前绘制目标的所属城市或县区名称集合,必须是列表形式 ; 第三个参数是 所属城市或县区对应的数值数据,同样必须是列表形式,且必须与第二个参数的长度相同 ; visual_range的参数可以不设置,不设置的情况下根据所传数据的值域进行自适应,同时绘制多个地图时,若所传参数不一致,取最大值 ;maptype是决定绘制的地图是什么,例如:世界地图是‘world’,中国地图是‘china’,河南地图是‘河南’等等 ;is_visualmap是显示上一参数的标识,为true才可以显示地图中的色块展示,为false不显示 ;visual_text_color是标识中的文字颜色。

map.render()传入参数path是绘制地图完成后写入的html文件,后续可以通过文件展示绘制的地图

相关推荐