以下为下载相关库、替换数据就能生成一个热力图的代码:
from pyecharts.charts import Map
from pyecharts import options as opts
data = [('北京市', 69.64 ),
('天津市', 43.27),
('河北省', 50.10),
('山西省', 38.38),
('内蒙古自治区',42.57),
('辽宁省', 52.46),
('吉林省', 40.32),
('黑龙江省', 43.27),
('上海市', 67.80),
('江苏省', 83.94),
('浙江省', 72.62),
('安徽省', 57.22),
('福建省', 53.70),
('江西省', 42.89),
('山东省', 78.74),
('河南省', 50.83),
('湖北省',55.64),
('湖南省', 53.37),
('广东省', 103.91),
('广西壮族自治区', 43.73),
('海南省', 29.13),
('重庆市', 41.84),
('四川省', 66.63),
('贵州省', 33.54),
('云南省', 41.54),
('西藏自治区', 19.84),
('陕西省', 51.97),
('甘肃省', 30.97),
('青海省',19.12),
('宁夏回族自治区', 25.14),
('新疆维吾尔自治区',34.54)]
map_=Map()
map_.add(
series_name ='xxx指数',
data_pair = data,
maptype ='china',
zoom = 1,
)
map_.set_global_opts(
title_opts = opts.TitleOpts(
title = '2025年xxx指数热力图',
#subtitle=''#副标题
pos_right = 'center',
pos_top='5%'#title的位置
),
visualmap_opts = opts.VisualMapOpts(
max_=110,
min_=10,
range_color=['#f8ca26','#f88f26','#f84226']
),
xaxis_opts=1800,
yaxis_opts=1800
)
map_.render('1.html')
在网上搜到的其他代码多多少少有着各种各样的小bug,其一是pyecharts库的版本,有代码写的是from pyecharts import Map,但是至少现在,Map是封装在pyecharts.charts中的。
data中是一个写着 元组形式为(省份,数据)的列表,也可以用文件导入,但是文件导入的时候,省份名字不能写成河北、陕西、广西这种形式,要写成河北省、陕西省,广西壮族自治区这种形式,不然在生成热力图的时候数据不会被识别。这个小问题前前后后困扰了我好几个小时,反复读help (pyechart)的函数文档也不知道是啥情况。
还有render导出的形式也可以改,或者使用jupyter notebook 直接交互画出来。
这段时间一个事接着一个事,10天接连通了两个宵,不过也学到挺多各种各样的知识,等闲下来了详细再分析一下文章与代码。