目录
安装Pyecharts
安装对应的地图拓展:
准备数据
使用 pyecharts 模块中的 Geo 函数:
使用 pyecharts 模块中的 map 函数:
把一些地域性比较明显的数据显示在一张地图上,远比给别人一个 Excel 文件好得多。
Matplotlib 中也有画地图的函数,但是是静态图,因此这里主要讲 Pyecharts 模块中的画图功能。
方法一:pip install ...
方法二:conda install -c anaconda pyecharts
方法三:下载模块--安装
$ 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
数据大概是下表这样的,一共110条数据。
Country | Province | City | Score | Province_1 | mean_score |
China | 上海 | 上海 | 98 | 安徽 | 45 |
China | 北京 | 北京 | 96 | 北京 | 96 |
China | 广西 | 崇左 | 15 | 福建 | 63 |
China | 内蒙古 | 兴安盟 | 94 | 甘肃 | 23 |
Geo 地理坐标系组件用于地图的绘制,支持在地理坐标系上绘制散点图,线集。
geo.add(name, attr, value, type="scatter", maptype='china', coordinate_region='中国', symbol_size=12, border_color="#111", geo_normal_color="#323c48", geo_emphasis_color="#2a333d", geo_cities_coords=None, is_roam=True, **kwargs)
常用参数说明:
参数 | 接收值 | 说明 |
name | str | 图例名称 |
attr | list | 属性名称 |
value | list | 属性所对应的值 |
type | str | 图例类型,有'scatter','effectScatter','heatmap'可选。默认为'scatter' |
maptype | str | 地图类型 |
coordinate_region | str | 城市坐标所属国家 |
symbol_size | int | 标记图形大小。默认为12 |
border_color | str | 地图边界颜色。默认为'#111' |
geo_normal_color | str | 正常状态下地图区域的颜色。默认为'#323c48' |
geo_emphasis_color | str | 高亮状态下地图区域的颜色。默认为'#2a333d' |
geo_cities_coords | dict | 用户自定义地区经纬度,类似如{'阿城':[126.58,45.32],}这样的字典。 |
is_roam | bool | 是否开启鼠标缩放和平移漫游。'scale'缩放、'move'平移、'True'都开启;默认为True。 |
Geo 函数的使用:
import pandas as pd
from pyecharts import Geo
#读取数据
datafile = u'D:\\pythondata\\travel\\travel_data.xlsx'
data = pd.read_excel(datafile)
attr = data['City']
value = data['Score']
geo = Geo("♡♡♡ 往后余生,踏遍山河 ♡♡♡", title_color="#2E2E2E",
title_text_size=24,title_top=20,title_pos="center", width=1300,height=600,
background_color='#F6CEF5')
geo.add("", attr, value, type="effectScatter", is_random=True, visual_range=[0, 100],
maptype='china',visual_text_color="#FF0000", geo_normal_color="#6E6E6E",geo_emphasis_color='#F5D0A9',
symbol_size=8, effect_scale=5, is_visualmap=True)
geo.render(path=u'D:\\pythondata\\travel\\往后余生.html')#生成html文件
没有报错就是运行成功了,去 path 路径中,双击在默认浏览器中打开 html 文件,:
map 函数 地图主要用于地理区域数据的可视化。
map.add(name, attr, value, maptype='china', is_roam=True, is_map_symbol_show=True, **kwargs)
map 函数的使用:
import pandas as pd
from pyecharts import Map
datafile = u'D:\\pythondata\\travel\\travel_data.xlsx'
data = pd.read_excel(datafile)
attr = data['Province_1']
value = data['mean_score']
map = Map("♡♡♡ 往后余生,踏遍山河", title_color="#2E2E2E",
title_text_size=24,title_top=20,title_pos="center", width=1300,height=600,
background_color='#F6CEF5')
map.add("", attr, value, type="effectScatter", is_random=True, visual_range=[0, 100],
maptype='china', geo_emphasis_color='#F5D0A9',visual_text_color="#6E6E6E",
is_visualmap=True, is_map_symbol_show=False)
map.render(path=u'D:\\pythondata\\travel\\往后余生_map.html')
没有报错就是运行成功了,去 path 路径中,双击在默认浏览器中打开 html 文件,:
Pyecharts 说明:http://pyecharts.org/#/zh-cn/charts_base?id=map%EF%BC%88%E5%9C%B0%E5%9B%BE%EF%BC%89