pyecharts库中负责地理坐标系的模块是Geo,负责地图的模块是Map,负责百度地图的模块是BMap,负责图表配置的模块是options。在 pyecharts 中,图表的一切皆通过 options来修饰调整。
重点:在最新版本很多内容都进行了调整,这一篇是基于最新版的,在jupyterbook上运行, 只提供最有实用性的参数
一、一些基础:
1.16进制颜色码
2.可能需要的地图资源
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
二、geo模块
0、导入相关模块
1、首先是实例化对象:可传入图表宽度、名称、背景颜色
2、add_schema() :传入要显示的区域名称、是否显示下辖区的名称、图表颜色、边界线颜色
3、add(): 传入图例名称、数据(二级列表)、图类型(ChartType.EFFECT_SCATTER动态散点
图,ChartType.HEATMAP热力图,scatter, effectScatter, heatmap, lines)
4、set_series_opts() :是否显示每个区域的数据大小
5、set_global_opts() : 设置图标标题
6、render_notebook() : 在notebook中渲染显示图表
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Geo, Map
from pyecharts.globals import ChartType, SymbolType
geo = Geo(init_opts = {"width":1600,"chart_id":"ceshi","bg_color":"#404a59"})
geo.add_schema(maptype="甘肃", label_opts = opts.LabelOpts(is_show=False), itemstyle_opts=opts.ItemStyleOpts(color="#008B8B", border_color="#87CEFA"))
date1 = [['江苏', 22], ['浙江', 34], ['湖北', 27], ['湖南', 53], ['河南', 42]]
geo.add("geo", date1, type_=ChartType.EFFECT_SCATTER)
geo.set_series_opts(label_opts=opts.LabelOpts(is_show=True))
geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(),title_opts=opts.TitleOpts(title="Geo-基本示例"))
geo .render_notebook()
三、建立动态图
直接给出代码
c = (
Geo()
.add_schema(maptype="china")
.add(
"",
[("深圳", 120), ("哈尔滨", 66), ("杭州", 77), ("重庆", 88), ("上海", 100), ("乌鲁木齐", 30),("北京", 30),("武汉",70)],
type_=ChartType.EFFECT_SCATTER,
color="green",
)
.add(
"geo",
[("北京", "上海"), ("武汉", "深圳"),("重庆", "杭州"),("哈尔滨", "重庆"),("乌鲁木齐", "哈尔滨"),("深圳", "乌鲁木齐"),("武汉", "北京")],
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6, color="blue"
),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="全国主要城市航班路线和数量"))
)
c.render_notebook()
四、map模块:与geo模块的区别可能在于建立全球的图标
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Map
c = (
Map()
.add("商家A", [list(z) for z in zip(['China','Canada','Brazil','United States','Russia'], [22,100,27,53,42])], "world")
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="Map-世界地图"),
visualmap_opts=opts.VisualMapOpts(max_=200),
)
)
c.render_notebook()