1.介绍
Echarts 是一个由百度开源的数据可视化,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
Apache Echarts 开源地址:https://github.com/apache/echarts
Pyecharts 开源地址:https://github.com/pyecharts/pyecharts
Pyecharts 官方文档:https://pyecharts.org/#/zh-cn/
Pyecharts 官方示例:https://gallery.pyecharts.org/#/README
2.利用pyecharts绘制简单的迁徙流向图
以下代码均作了注释,可以结合官方开发文档进行阅读
from pyecharts.charts import Map, Geo
from pyecharts import options as opts
from pyecharts.globals import ChartType,SymbolType
provience_dis={"广州":(113.27,23.13),"北京":(116.40,39.90),"新疆":(87.62,43.82),
"安徽":(117.25,31.83),"成都":(104.07,30.67)}
list_key=list(provience_dis.keys())
list_value=list(provience_dis.values())
# 利用zip()函数生成由 <元组> 组成的 <列表>,list(z)为一个个元组,最后注意要加上[]成为列表
data_pro=[list(z) for z in zip(list_key,list_value)]
print(data_pro)
china=(
Geo(init_opts=opts.InitOpts(width="1500px",height='1200px',page_title="成都人口流向图")) # 初始化配置
# 基本框架设置 参考 pyecharts-document-Geo
.add_schema(maptype="china",
is_roam=True, # 开启鼠标缩放
zoom=1, # 当前视角比例缩放
center=[104.06,30.67], # 当前视角的中心点 经纬度表示
layout_size=500,
itemstyle_opts=opts.ItemStyleOpts(color="#FFFFCC",border_color="#800000"))
# 为地图添加配置
# 标注散点
.add(
"", # series name
# 添加数据项(坐标点名称,坐标点值)
# data_pro,
[("广州",(113.27,23.13)),("北京",(116.40,39.90)),("安徽",(117.25,31.83)),
("新疆",(87.62,43.82)),("成都",(104.07,30.67))],
type_=ChartType.EFFECT_SCATTER, # 添加图类型
color="black"
)
# 标记流向线条
.add(
'Geo', # series_name
[("成都","新疆"),("成都","北京"),("成都","安徽"),("成都","广州")],
type_=ChartType.LINES,
is_selected=True, # 图例
effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW,symbol_size=6,color="blue"), # 添加效果 箭头arrow
linestyle_opts=opts.LineStyleOpts(curve=0.2)
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=True)) # 系列配置项
.set_global_opts(title_opts=opts.TitleOpts(title="成都人口流向图")) # 全局配置项
.render('china.html')
)
- 效果
3.世界地图的绘制
- 代码块
world=(
Map(init_opts=opts.InitOpts(width="1500px",height="900px",page_title="世界地图——NiKOJJ")) # 初始化配置
.add(
"世界地图",
data_pair=[("China",95.1),("Canada",23.2),
("Brazil",43.3),("Russia",66.4),("Britain",11.0),
("United States",88.5),("Greenland",60.0),("Germany",10.27,),
("Australia",150.53),("South Africa",17.33),("Italy",41.54)],
maptype="world",
is_roam=True,
is_selected=True,
is_map_symbol_show=True,
)
.set_global_opts(
title_opts=opts.TitleOpts(title="MAP-世界地图"),
visualmap_opts=opts.VisualMapOpts(is_show=True)
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=True))
.render('MAP-WPRLD.html')
)
- 效果:
更多内容请访问我的博客小站,链接:NiKoJJ’s Blog
同时欢迎关注微信公众号,获取更多有趣内容!