写点什么

软件测试 / 人工智能|Python 数据可视化神器 pyecharts 教程(一)

  • 2023-12-11
    北京
  • 本文字数:2802 字

    阅读完需:约 9 分钟

前言

在很多时候,枯燥的数字并不能很直观的展示地域的差别,比如一个企业,想要分析产品在国内的销售情况,报表可能并不能最直接的展示差异,而一个结合地图的展示,就会直观得多,更便于大家去看到差距,更利于决策。


当然,除了做商业决策,将数据与地图结合,也更便于我们展示诸如人口密度,经济总量等数据,总之,数据可视化是极大地方便了我们的数据分析和评估的。本文就来介绍一下使用 Python 的数据可视化神器 pyecharts 来绘制带地图的数据分析图。

环境准备

在使用pyecharts绘制图像之前,我们需要先准备好pyecharts的环境,安装pyecharts非常简单,我们直接使用pip命令安装即可,命令如下:


pip install pyecharts
复制代码


pyecharts中,每一种图都有自己对应的类,我们在绘制时,需要先进行导入,在绘制地图之前,我们需要先导入Map类。


因为我们目前没有真实数据,所以我们可以使用Faker库来生成一些假数据,我们可以使用pip命令来安装Faker库,命令如下:


pip install faker
复制代码


我们在绘制之前,需要导入的包如下:


from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.faker import Faker
复制代码


add 函数


在 pyecharts 中,每一种类型的图都有对应的add函数,现在我们来分析一下Map类的add函数。


def add(        self,        series_name: str,  # 系列名称        data_pair: types.Sequence[types.Union[types.Sequence, opts.MapItem, dict]],  # 数据对,包含地理位置和数值        maptype: str = "china",  # 地图类型,默认为中国地图        *,        is_roam: bool = True,  # 是否开启鼠标缩放和平移漫游,默认为开启        center: types.Optional[types.Sequence] = None,  # 地图中心点坐标,默认为None        aspect_scale: types.Numeric = 0.75,  # 地图长宽比,默认为0.75        bounding_coords: types.Optional[types.Sequence[types.Numeric]] = None,  # 地图的最大最小经纬度范围,默认为None        min_scale_limit: types.Optional[types.Numeric] = None,  # 最小的缩放比例限制,默认为None        max_scale_limit: types.Optional[types.Numeric] = None,  # 最大的缩放比例限制,默认为None        name_property: str = "name",  # 地图数据项中地理位置的属性名称,默认为"name"        selected_mode: types.Union[bool, str] = False,  # 选中模式,默认为False,可选值为"single"、"multiple"        zoom: types.Optional[types.Numeric] = 1,  # 地图缩放级别,默认为1        name_map: types.Optional[dict] = None,  # 地理位置名称的映射关系,默认为None        symbol: types.Optional[str] = None,  # 地图标记的图形,默认为None,可选值为"circle"、"rect"、"roundRect"等        map_value_calculation: str = "sum",  # 地图数值的计算方式,默认为"sum",可选值为"average"、"max"、"min"等        is_map_symbol_show: bool = True,  # 是否显示地图标记,默认为True        z_level: types.Numeric = 0,  # 图形的层级,默认为0        z: types.Numeric = 2,  # 图形的z值,默认为2        pos_left: types.Optional[types.Union[str, types.Numeric]] = None,  # 图形左上角的位置,默认为None        pos_top: types.Optional[types.Union[str, types.Numeric]] = None,  # 图形左上角的位置,默认为None        pos_right: types.Optional[types.Union[str, types.Numeric]] = None,  # 图形右下角的位置,默认为None        pos_bottom: types.Optional[types.Union[str, types.Numeric]] = None,  # 图形右下角的位置,默认为None        geo_index: types.Optional[types.Numeric] = None,  # 地理位置的索引,默认为None        series_layout_by: str = "column",  # 系列的布局方式,默认为"column",可选值为"row"        dataset_index: types.Optional[types.Numeric] = 0,  # 数据集的索引,默认为0        layout_center: types.Optional[types.Sequence[str]] = None,  # 图形布局的中心点,默认为None        layout_size: types.Union[str, types.Numeric] = None,  # 图形布局的大小,默认为None        label_opts: types.Label = opts.LabelOpts(),  # 标签的配置项,默认为LabelOpts()        tooltip_opts: types.Tooltip = None,  # 提示框的配置项,默认为None        itemstyle_opts: types.ItemStyle = None,  # 图形样式的配置项,默认为None        emphasis_label_opts: types.Label = None,  # 强调状态下标签的配置项,默认为None        emphasis_itemstyle_opts: types.ItemStyle = None,  # 强调状态下图形样式的配置项,默认为None    )
复制代码

绘制省市地图

我们要详细分析省市的数据,我们可以只绘制某个省的地图,例如,我们要绘制江西省的地图,设置maptype="江西"即可,代码如下:


from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.faker import Faker
c = ( Map() # 创建地图对象 .add("煌上煌", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], maptype="江西") # 添加数据,地区选择江西(也可以选择其他省市) .set_global_opts( title_opts=opts.TitleOpts(title="江西地图"), # 设置标题为"江西地图" visualmap_opts=opts.VisualMapOpts() # 设置可视化地图的配置项 ))
# 渲染图表c.render("江西地图.html") # 将图表渲染为HTML文件
复制代码


绘制的图像在浏览器打开,如下:


中国地图

我们设置maptype="china"就可以绘制只带省级行政区名的中国地图,设置maptype="china-cities"即可绘制带城市的中国地图,代码如下:


from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.faker import Faker
c = ( Map() # 创建地图对象 .add( "比亚迪", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], maptype="china-cities", # 添加数据,商家A在中国各个城市的销售额,使用带有城市的中国地图 label_opts=opts.LabelOpts(is_show=False), # 设置标签的配置项,不显示标签 ) .set_global_opts( title_opts=opts.TitleOpts(title="中国城市图"), # 设置标题为"中国地图(带城市)" visualmap_opts=opts.VisualMapOpts(), # 设置可视化地图的配置项 ))
# 渲染图表c.render("中国城市图.html") # 将图表渲染为HTML文件
复制代码


运行代码,绘制的城市图在浏览器中打开如下:


总结

本文主要介绍了如何使用pyecharts绘制带地图信息的数据分析图,地图可视化是一种强大的工具,能够直观地展示产品销售数据。希望本文能够帮到大家!


更多Python基础语法趣味学习视频,请点击!



用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试/人工智能|Python数据可视化神器pyecharts教程(一)_霍格沃兹测试开发学社_InfoQ写作社区