pyecharts(10)-动态可视化-地图(1) Map 和Geo

地图基础版

导入的包: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_SCATTERGeoType.HEATMAPGeoType.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()
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值