pyecharts绘制地图(Geo and Map)(细节更丰富)
前言
前段时间参加了美赛,因为考虑到一些地方要绘制美丽的图表,另外根据往年论文里的内容发现很多时候需要将各国的数据通过世界地图显示出来,所以我就发现了python中的pyecharts库,这篇博客主要分享一下pyecharts中Geo和Map的用法。(这里相较于其他博客的优点可能就是细节更加多一些吧)
中文官方文档
1.文档网址:https://pyecharts.org/#/zh-cn/intro
绘制地图Map
直接上代码
1.由于pyecharts默认输出类型为html文件在网页显示,如果直接在网页中复制图片或者截图的话清晰度会非常差,如果想直接保存为png图片的话可以配置snapshot
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot #这个影响最后输出图片
2.导入相关Map包
from pyecharts.charts import Map #导入地图模块
from pyecharts import options as opts
3.地图显示设置
其中.add中的data_pair为元组列表的形式,可以根据情况自行搭建,地图上的话一般都是[(国家1,数值),(国家2,数值),(国家3,数值),…]
worldmap=Map(init_opts=opts.InitOpts(width="800px",height="400px",bg_color='white'))
#初始化地图设置图片大小以及背景颜色
worldmap.add(" ",data_pair=datapairtwo,maptype="world",is_map_symbol_show=False)
#类型为世界地图,is_map_symbol_show可以选择是否显示世界地图上的各个国家的红色标点
worldmap.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
#设置is_show=False,使得世界地图上每个国家的名称不会显示在地图上
worldmap.set_global_opts(title_opts=opts.TitleOpts(title=" "),legend_opts=opts.LegendOpts(is_show=False),
visualmap_opts=opts.VisualMapOpts(min_=0,max_=20,orient="horizontal",type_ ="color",
range_color=['#FCFCFC','#5CACEE','#6495ED'],
pos_left=360,pos_bottom=60,item_width=15,item_height=80))
#标题设置为空格,即标题不显示,图例设置为不显示,视觉映射范围为0~20,放置为水平放置,视觉映射以颜色变化作为过渡,range_color为颜色变化区间,剩下的设置了视觉映射的位置以及高度宽度,这里主要是抛转引玉,如果还想设置其他的可以根据官方手册进行添加
#worldmap.render("name.html") #网页形式输出
make_snapshot(snapshot,worldmap.render(),"worldfair.png")#图片形式输出
4.为了大家能直观感觉到参数设置的影响,我通过两组代码的输出来展示一下
代码1:
#绘图代码
from pyecharts.charts import Map #导入地图模块
from pyecharts import options as opts
def get_regionname_data(txt