1.代码
from pyecharts.charts import Geo, Page
from pyecharts.globals import ChartType
from pyecharts.components import Table
from pyecharts import options as opts
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月')],
is_selected=True,
type_=ChartType.EFFECT_SCATTER
)
.add_coordinate("七星关", 105.28, 27.3)
.add(
series_name='某项目',
data_pair=[("七星关", '2017年1月')],
is_selected=True,
type_=ChartType.EFFECT_SCATTER
)
.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)
),
)
)
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.效果