Pyecharts地图标点+表格可视化

Pyecharts地图标点+表格可视化

1.代码

from pyecharts.charts import Geo, Page
from pyecharts.globals import ChartType
from pyecharts.components import Table
from pyecharts import options as opts
# area会在https://github.com/pyecharts/pyecharts/blob/master/pyecharts/datasets/city_coordinates.json中进行匹配,得出对应坐标
area = ['吉木乃', '华池', '大名', '宁强', '古丈', '雷波', '会宁', '尼木', '山南', '乐都']
values = ['2017年4月', '2015年7月', '2020年10月', '2019年11月', '2018年6月', '2018年5月', '2019年7月', '2018年11月', '2021年9月', '2018年9月']

g = (
    Geo(init_opts=opts.InitOpts(page_title="某项目覆盖"))
    .add_schema(maptype="china",
                # 是否显示省市名字
                label_opts=opts.LabelOpts(is_show=False),
                # 放大
                zoom=1.2
                )

    .add(
        "某项目",
        [list(z) for z in zip(area, values)],
        type_=ChartType.EFFECT_SCATTER
    )
    # 自行添加点
    .add_coordinate("酉阳", 108.77, 28.85)
    .add(
        series_name='某项目',  # 系列名
        data_pair=[("酉阳",'2019年11月')],  # 系列里需要的点用列表框住多个元组达到批量输入的效果[(坐标点1,坐标点1的值),(坐标点2,坐标点2的值),(坐标点3,坐标点3的值)]
        is_selected=True,
        type_=ChartType.EFFECT_SCATTER
        )
    .add_coordinate("七星关", 105.28, 27.3)
    .add(
        series_name='某项目',  # 系列名
        data_pair=[("七星关", '2017年1月')],  # 系列里需要的点用列表框住多个元组达到批量输入的效果[(坐标点1,坐标点1的值),(坐标点2,坐标点2的值),(坐标点3,坐标点3的值)]
        is_selected=True,
        type_=ChartType.EFFECT_SCATTER
    )
    # formatter='{b}'表示显示数据名称
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True, formatter='{b}'))
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="某项目覆盖",
            subtitle="截至2022年1月,“某”项目已在全国10省(直辖市、自治区)、12县(区)开展试点,\n\n当前项目内儿童12334人、累积收益儿童23226人,聘有地方执行人员1234人。",
            subtitle_textstyle_opts=opts.TextStyleOpts(color='black', font_size=12)
        ),
        # # 显示工具箱
        # toolbox_opts=opts.ToolboxOpts(is_show=True),
    )

    # .render("某项目覆盖.html")
)

# 表格添加
headers = ["项目开始时间", "项目地点"]
rows = [
    ["2015年7月", '甘肃华池县'],
    ["2017年1月", '贵州七星关区'],
    ["2017年4月", '新疆吉木乃县'],
    ["2018年5月", '四川雷波县'],
    ["2018年6月", '湖南古丈县'],
    ["2018年9月", "青海乐都区"],
    ["2018年11月", "西藏尼木县"],
    ["2019年7月", "甘肃会宁县"],
    ["2019年11月", "陕西宁强县;重庆酉阳县"],
    ["2020年10月", "河北大名县"],
    ["2021年9月", "西藏山南市"],
]
t = (
    Table()
    .add(headers, rows)
)

p = (
    Page(page_title="某项目覆盖")
    .add(g)
    .add(t)
    .render("某项目覆盖.html")

)

2.效果

在这里插入图片描述

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值