对全国2023年各省市的人口分布情况,做出地图展示效果
参考:Map - Map_base - Document (pyecharts.org)
1、模板
python
# -*- coding: gbk -*-
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (
# 创建 Map对象
Map()
# add方法
# 1、"商家A" 数据名称
# 2、[list(z) for z in zip(Faker.provinces, Faker.values())] 显示标签的值
# 3、"china" 对应中国地图
.add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
# 设置全局配置项
.set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
# 生成文件
.render("map_base.html")
)
2、具体实现
python
# -*- coding: gbk -*-
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
"""准备数据"""
with open("分省年度数据 .csv","r",encoding="gbk") as f:
data_lines=f.readlines()
# 删除 data_lines列表的前4个元素(行)
for _ in range(4):
data_lines.pop(0)
# 创建一个空列表存放地图数据
# 分析 map_data_list格式 [[省市名,人口数量],[省市名,人口数量]....]
map_data_list=[]
for data_line in data_lines:
data_line_list=data_line.split(",")
try:
map_data_list.append([data_line_list[0],data_line_list[1]])
except Exception as e:
# 如果在添加数据到 map_data_list出现异常,就continue
continue
# print(map_data_list)
"""创建Map对象"""
map=Map()
"""添加数据并配置"""
map.add("2023年各省市的人口分布情况",map_data_list,"china")
# 全局配置
map.set_global_opts(
title_opts=opts.TitleOpts(title="2023年各省市的人口分布情况"),
# VisualMapOpts: 视觉映射配置项
visualmap_opts=opts.VisualMapOpts(
# 指定 VisualMapOpts 组件的最小值
min_=100,
# 指定 VisualMapOpts 组件的最大值
max_=15000,
# 指定 VisualMapOpts 组件的位置
pos_left="10%",
pos_bottom="30%"
)
)
"""系列配置-标签字体大小配置"""
map.set_series_opts(label_opts=opts.LabelOpts(font_size=6))
"""生成文件"""
map.render("2023年各省市的人口分布情况.html")