前言
上篇文章我们介绍了pyecharts的安装和绘制基础的柱状图,本篇文章我们将介绍绘制Map图,很多时候,我们统计数据都会分地区来展示,将数据和地图结合会更加直观,所以,我们今天就来介绍一下绘制带地理信息的图。
GEO 散点图
当我们以城市为单位进行统计时,可以使用散点图,城市即可在地图上呈散点分布,代码如下所示:
from pyecharts.charts import *
from pyecharts import options as opts
def geo_effect_scatter():
geo = Geo(init_opts=opts.InitOpts(theme='light',
width='1000px',
height='600px'))
geo.add_schema(maptype="china")
geo.add("",
[("广州", 150), ("成都", 70), ("南昌", 64), ("苏州", 100), ("郑州", 63)],
# 涟漪效果散点图
type_='effectScatter')
return geo
chart = geo_effect_scatter()
chart.render_notebook()
chart.render()
生成的图如下:
GEO热力图
有时候我们需要以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示。热力图就完美的符合了我们的需要,pyecharts同样支持我们绘制热力图。
from pyecharts.charts import *
from pyecharts import options as opts
def geo_heatmap():
geo = Geo(init_opts=opts.InitOpts(theme='light',
width='1000px',
height='600px'))
geo.add_schema(maptype="china")
geo.add("",
[("广州", 150), ("成都", 70), ("南昌", 64), ("苏州", 100), ("郑州", 63)],
type_='heatmap')
# 热点图必须配置visualmap_opts
geo.set_global_opts(visualmap_opts=opts.VisualMapOpts())
return geo
chart = geo_heatmap()
chart.render_notebook()
chart.render()
结果如下图所示:
Map带组件
很多时候我们会分省份来统计数据,那pyecharts同样也支持这个功能,我们以2022年全国各省份的GDP为例,来绘制我们带视觉组件的图表。
from pyecharts.charts import *
from pyecharts import options as opts
data = [('广东省', 129118.58),
('山东省', 87435),
('河南省', 61345),
('四川省', 56749.80),
('江苏省', 122875.60),
('河北省', 42370.40),
('湖南省', 48670.37),
('安徽省', 45045),
('湖北省', 53734.92),
('浙江省', 77715),
('广西壮族自治区', 26300.87),
('云南省', 28954.20),
('江西省', 32074.7),
('辽宁省', 28975.1),
('黑龙江省', 15901),
('陕西省', 32772.68),
('山西省', 25642.59),
('福建省', 53109.85),
('贵州省', 20164.58),
('重庆市', 29129.03),
('吉林省', 13070.24),
('甘肃省', 11201.60),
('内蒙古自治区', 23159),
('台湾省', 51262.8),
('上海市', 44652.8),
('新疆维吾尔自治区', 17741.34),
('北京市', 41610.9),
('天津市', 16311.34),
('海南省', 6818.22),
('香港特别行政区', 23740),
('宁夏回族自治区', 5069.57),
('青海省', 3610.1),
('西藏自治区', 2134.62),
('澳门特别行政区', 1929.27)]
def map_with_viusalmap():
map_chart = Map(init_opts=opts.InitOpts(theme='light',
width='1000px',
height='600px'))
map_chart.add('GDP(亿人民币)',
data_pair=data,
maptype='china',
# 关闭symbol的显示
is_map_symbol_show=False)
map_chart.set_global_opts(visualmap_opts=opts.VisualMapOpts(
max_=130000, # visualmap默认映射数据范围是【0,100】,需调整
is_piecewise=True,
range_color=["#CCD3D9", "#E6B6C2", "#D4587A", "#DC364C"],
))
return map_chart
chart = map_with_viusalmap()
chart.render_notebook()
chart.render()
生成图像如下所示:
注:输入各省数据时,我们必须输入省份名字的全称,如‘江西省’、‘上海市’、‘香港特别行政区’、‘新疆维吾尔自治区’,输入‘江西’时,无法展示江西省的数据。
总结
本文主要介绍了pyecharts结合地图绘制图像的功能,大家可以去尝试一下绘制上述的图像,下一篇文章我们将介绍绘制饼图。