地图基础版
导入的包:from pyecharts.charts import Map
函数:Map()
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (
Map()
.add("商家A", [list(z) for z in zip( ['广东', '北京', '上海', '江西', '湖南', '浙江', '江苏'],[129, 36, 51, 110, 142, 27, 61])], "china")
.add("商家B", [list(z) for z in zip( ['湖北', '广西', '上海', '天津', '河南', '浙江', '江苏'], [137, 124, 99, 107, 50, 114, 96])], "china")
.set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
.render("map_base.html")
)
地图(由点至面)
·visualmap_opts=opts.VisualMapOpts()
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (
Map()
.add("商家A", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], "广东")
.set_global_opts(
title_opts=opts.TitleOpts(title="Map-广东地图"),
visualmap_opts=opts.VisualMapOpts() #整个地区变色 不是一个点
)
.render("map_guangdong.html")
)
地图 -地理坐标geo()
左右对比更加直观,有无背景设置,有无涟漪特效的对比
基本导入
导入的包:from pyecharts.charts import Geo
函数:Geo()
.add_schema()
①设置地图类型: maptype: str = "china"
②地图区域的多边形图形样式:itemstyle_opts=opts.ItemStyleOpts
,选择设置地图颜色 边框可以使得更加美观清晰
.add()
①数据设置的方式:("广州", 55)
(坐标点名称,坐标点值)
② Geo 图类型设置:
Geo 图类型,有 scatter, effectScatter, heatmap, lines 4 种
即GeoType.GeoType.EFFECT_SCATTER
,GeoType.HEATMAP
,GeoType.LINES
③添加补充连接线 以显示从某地到某地的运输等
[("广州", "上海"), ("广州", "北京"), ("广州", "杭州"), ("广州", "重庆")]
from pyecharts import options as opts
from pyecharts.charts import Page, Geo
from pyecharts.globals import ChartType, SymbolType
def Geo_Lines_background() :
c = (
Geo()
.add_schema(
maptype="china", #地图类型
itemstyle_opts=opts.ItemStyleOpts(color="#323c48", border_color="#111"), #color 是填充颜色,border_color指的是边框线颜色
)
.add(
"",# 系列名称
[("广州", 55), ("北京", 66), ("杭州", 77), ("重庆", 88)], #数据线(坐标点名称,坐标点值)
type_=ChartType.EFFECT_SCATTER,
# Geo 图类型,有 scatter, effectScatter, heatmap, lines 4 种,建议使用
# GeoType.GeoType.EFFECT_SCATTER,GeoType.HEATMAP,GeoType.LINES
type_: str = "scatter",
color="white",
)
.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="Geo-Lines-background"))
)
return c
def Geo_lines() :
c = (
Geo()
.add_schema(maptype="china")
.add(
"",
[("广州", 55), ("北京", 66), ("杭州", 77), ("重庆", 88)],
type_=ChartType.EFFECT_SCATTER,
color="white",
)
.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="Geo-Lines"))
)
return c
def page_draggable_layout():
page = Page(layout=Page.DraggablePageLayout)
page.add(
Geo_Lines_background(),
Geo_lines(),
)
page.render("page_draggable_layout.html")
if __name__ == "__main__":
page_draggable_layout()
Geo 图类型设置对比(EffectScatter(左)和HeatMap(右))
from pyecharts import options as opts
from pyecharts.charts import Page, Geo
from pyecharts.globals import ChartType
def Geo_effectscatter() :
c = (
Geo()
.add_schema(maptype="china")
.add(
"geo",
[list(z) for z in zip(['广东', '北京', '上海', '江西', '湖南', '浙江', '江苏'],[99, 132, 47, 44, 45, 122, 107])],
type_=ChartType.EFFECT_SCATTER,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="Geo-EffectScatter"))
)
return c
def Geo_HeatMap() :
c = (
Geo()
.add_schema(maptype="china")
.add(
"geo",
[list(z) for z in zip(['广东', '北京', '上海', '江西', '湖南', '浙江', '江苏'],[99, 132, 47, 44, 45, 122, 107])],
type_=ChartType.HEATMAP,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(),
title_opts=opts.TitleOpts(title="Geo_HeatMap"),
)
)
return c
def page_draggable_layout():
page = Page(layout=Page.DraggablePageLayout)
page.add(
Geo_effectscatter(),
Geo_HeatMap(),
)
page.render("page_draggable_layout.html")
if __name__ == "__main__":
page_draggable_layout()