Map: 地图

对全国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")
相关推荐
2601_9679873716 分钟前
Sqlite参考手册
数据库·python·sqlite·api·教程
Funlang17 分钟前
龙芯上的 Fun:从跑起来到机器码
开发语言·龙芯
总要学点什么22 分钟前
第104篇:三维特效-流动墙体效果——让贴图沿墙流动,它却只肯走一条对角线
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
旖旎夜光44 分钟前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
用户019027581611 小时前
A 股到价提醒机器人:AlphaFeed + 飞书/钉钉 Webhook
python
ShineWinsu1 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
特立独行的猫A1 小时前
Ionic + 仓颉语言的 cj-tauri 开发框架实战:开发精美移动端 APP
java·后端·python
高洁012 小时前
数据同化与动态状态估计:让孪生持续贴合现实
人工智能·python·深度学习·transformer·迁移学习
普通人62 小时前
WebGL与WebGPU入门指南
开发语言·webgl·1024程序员节
通信仿真爱好者2 小时前
第【139】期--基于深度学习的OFDM信道估计方法研究--python完整代码
python·深度学习·ofdm·信道估计