只摸索出全部省份的地图,直接设置参数即可,做出来的图挺好看,所以记录一下。
选择部分省份作图或对某一个具体地区作图,特别是用于论文、研究等,需要图片十分清晰,还是专业地图绘制软件更合适。
1. 创建备用数据
import pandas as pd
geo_test_data=[('北京',100),('上海',90),
('江苏',88),('陕西',78),
('河北',10),('湖南',66)]
df=pd.DataFrame(geo_test_data)
df.columns=['province','number']
df
2. Geo做散点图
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType,SymbolType
%matplotlib inline
geo=Geo()
geo.add_schema(maptype='china') #选定地图范围
geo.add('geo',geo_test_data, #地图数据(列表数据)
type_=ChartType.EFFECT_SCATTER,
#'heatmap':热力图 ChartType.EFFECT_SCATTER:动态散点图
symbol_size=15)
geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) #是否显示数据标签
geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=False), #是否显示图例
#is_piecewise:图例是否分段
title_opts=opts.TitleOpts(title='Geo-基本示例')) #图形标题
geo.render('geo.html') #保存为网页数据
geo.render_notebook() #在notebook中显示
3. map做散点图
3.1 散点图
from pyecharts import options as opts
from pyecharts.charts import Map
map=Map()
map.add('频数',geo_test_data,'china')
map.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) #是否显示label(省份名),需要单独的命令设置
map.set_global_opts(title_opts=opts.TitleOpts(title='示例'))
map.render_notebook()
3.2 着色图
map=Map()
map.add('频数',geo_test_data,'china')
map.set_global_opts(
title_opts=opts.TitleOpts(title='示例'),
visualmap_opts=opts.VisualMapOpts(max_=200,
is_piecewise=True)) #图例是否分段
map.render_notebook()
pyecharts在jupyter notebook中做出来的图,可以直接显示,也可以保存成html文件,分享给别人链接。