热线电话:13121318867

登录
首页大数据时代【干货】5分钟学会数据可视化:使用Pyecharts绘制地图
【干货】5分钟学会数据可视化:使用Pyecharts绘制地图
2025-02-24
收藏

在数据分析中,地图是一种非常直观的可视化工具,能够帮助我们更好地理解数据在地理空间上的分布情况。无论是展示销售数据、人口分布、还是疫情传播,地图都能提供一目了然的信息。本文将详细介绍如何使用Pyecharts绘制地图,适合数据分析小白入门。

一、地图的应用场景

地图在数据分析中的应用非常广泛,以下是一些常见的应用场景:

  • 销售数据分析:展示不同地区的销售额、市场份额等。
  • 人口统计:展示人口密度、年龄分布等。
  • 疫情监控:展示疫情在不同地区的传播情况。
  • 物流管理:展示物流路径、仓库分布等。
  • 旅游数据分析:展示旅游热点、游客来源等。

二、Pyecharts简介

Pyecharts是一个基于Echarts的Python可视化库,能够轻松生成各种精美的图表。Echarts是百度开源的一个数据可视化工具,支持多种图表类型,包括折线图柱状图、饼图、地图等。Pyecharts使得在Python中使用Echarts变得非常简单。

三、安装Pyecharts

在开始之前,我们需要先安装Pyecharts。可以通过以下命令安装:

pip install pyecharts

此外,为了绘制地图,我们还需要安装一些地图数据包:

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg

四、绘制地图的基本步骤

1. 导入必要的库

首先,我们需要导入Pyecharts中绘制地图所需的模块:

from pyecharts import options as opts
from pyecharts.charts import Map

2. 准备数据

地图数据通常是一个包含地区名称和对应数值的列表。例如:

data = [("北京市", 100), ("上海市", 200), ("广东省", 300), ("四川省", 400), ("陕西省", 500)]

3. 创建地图对象

接下来,我们创建一个地图对象,并设置地图类型为“china”:

map_chart = Map()
map_chart.add("示例地图", data, "china"
             ,zoom=1.5 # 设置缩放
             ,center=[100, 36] # 设置默认中心位置
             ,is_roam=False    # 禁用缩放 拖拽
             )
map_chart.render_notebook()

4. 设置全局配置

为了让地图更加美观,我们可以设置一些全局配置,例如标题、视觉映射等:

map_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="中国地图示例"),
    visualmap_opts=opts.VisualMapOpts(max_=500)
)
map_chart.render_notebook()

5. 渲染地图文件

最后,我们还可以将地图渲染为HTML文件:

map_chart.render("china_map.html")

6. 查看地图文件结果

运行上述代码后,会在当前目录下生成一个名为china_map.html的文件。打开这个文件,你就可以看到一个交互式的中国地图,鼠标悬停在各个省份上时,会显示对应的数值。

五、如何让图形更精美

为了让地图更加精美,我们可以从以下几个方面进行优化:

1. 使用渐变颜色

通过设置visualmap_opts中的is_piecewise=True,我们可以使用分段颜色来展示数据:

map_chart.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        is_piecewise=True,
        pieces=[
            {"min": 0, "max": 100, "label""0-100""color""#FFE4E1"},
            {"min": 101, "max": 200, "label""101-200""color""#FF7F50"},
            {"min": 201, "max": 300, "label""201-300""color""#FF4500"},
            {"min": 301, "max": 400, "label""301-400""color""#FF0000"},
            {"min": 401, "max": 500, "label""401-500""color""#8B0000"},
        ]
    )
)

2. 使用3D地图

Pyecharts还支持3D地图,可以通过Map3D图表来启用:

from pyecharts.charts import Map3D
example_data = [
    [[119.107078, 36.70925, 1000], [116.587245, 35.415393, 1000]],
    [[117.000923, 36.675807], [120.355173, 36.082982]],
    [[118.047648, 36.814939], [118.66471, 37.434564]],
    [[121.391382, 37.539297], [119.107078, 36.70925]],
    [[116.587245, 35.415393], [122.116394, 37.509691]],
    [[119.461208, 35.428588], [118.326443, 35.065282]],
    [[116.307428, 37.453968], [115.469381, 35.246531]],
]

(Map3D()
.add_schema(
    maptype="山东",
    itemstyle_opts=opts.ItemStyleOpts(
        color="rgb(5,101,123)",
        opacity=1,
        border_width=0.8,
        border_color="rgb(62,215,213)",
    ),
    light_opts=opts.Map3DLightOpts(
        main_color="#fff",
        main_intensity=1.2,
        is_main_shadow=False,
        main_alpha=55,
        main_beta=10,
        ambient_intensity=0.3,
    ),
    view_control_opts=opts.Map3DViewControlOpts(center=[-10, 0, 10]),
    post_effect_opts=opts.Map3DPostEffectOpts(is_enable=False),
)
.add(
    series_name="",
    data_pair=example_data,
    type_=ChartType.LINES3D,
    effect=opts.Lines3DEffectOpts(
        is_show=True,
        period=4,
        trail_width=3,
        trail_length=0.5,
        trail_color="#f00",
        trail_opacity=1,
    ),
    linestyle_opts=opts.LineStyleOpts(is_show=False, color="#fff", opacity=0),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Map3D-Lines3D"))
.render("map3d_with_lines3d.html")
)

3. 自定义地图样式

通过设置map_style,我们可以自定义地图的样式,例如背景颜色、边界颜色等:

map_chart.set_series_opts(
    label_opts=opts.LabelOpts(is_show=False),
    itemstyle_opts=opts.ItemStyleOpts(color="blue", border_color="black",area_color="green")
)

数据可视化是数据分析师需要掌握的重要技能,也是CDA数据分析师一级的重要考点,如果你想实操一下自己的可视化技能。

六、总结

相信你已经掌握了如何使用Pyecharts绘制地图的基本方法。地图作为一种强大的数据可视化工具,能够帮助我们更好地理解数据在地理空间上的分布情况。通过不断优化地图的样式和交互效果,我们可以让数据展示更加生动和直观。

希望这篇文章能够帮助你在数据分析的道路上更进一步!如果你有任何问题或建议,欢迎在评论区留言讨论。

抓住机遇,狠狠提升自己

随着各行各业进行数字化转型,数据分析能力已经成了职场的刚需能力,这也是这两年CDA数据分析师大火的原因。和领导提建议再说“我感觉”“我觉得”,自己都觉得心虚,如果说“数据分析发现……”,肯定更有说服力。想在职场精进一步还是要学习数据分析的,统计学、概率论、商业模型、SQL,Python还是要会一些,能让你工作效率提升不少。备考CDA数据分析师的过程就是个自我提升的过程。

CDA 考试官方报名入口:https://www.cdaglobal.com/pinggu.html

推荐学习:https://edu.cda.cn/goods/show/3243?targetId=5333&preview=0

最新资讯
更多
客服在线
立即咨询