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

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

时间:2023-12-11 20:06:18浏览次数:31  
标签:None pyecharts Python 地图 默认 opts types 软件测试

前言

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

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

环境准备

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

pip install pyecharts

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

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

pip install faker

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

from pyecharts import options as opts
from pyecharts.charts import Map
from 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 opts
from pyecharts.charts import Map
from 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文件

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

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

中国地图

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

from pyecharts import options as opts
from pyecharts.charts import Map
from 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文件

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

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

总结

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


标签:None,pyecharts,Python,地图,默认,opts,types,软件测试
From: https://blog.51cto.com/u_15640304/8776771

相关文章

  • 软件测试/人工智能|Java Edit Plus 安装与配置指南
    前言最近我这个一直使用Python的人,开始尝试学习了一下Java,我的朋友跟我说,别像Python那样,开始就使用一个功能强大的IDE,Java语法更为复杂,可以先使用一个轻量化的编辑器,我开始准备使用notepad++,我朋友跟我推荐了EditPlus,我使用之后,就真香了,本文就给大家介绍一下EditPlus的安装和配置。......
  • 粉碎文件代码 python
    粉碎文件是指将文件彻底删除,使其无法恢复。在计算机领域,我们通常使用编程语言来实现该功能。本文将介绍如何使用Python编程语言来粉碎文件,并提供相应的代码示例。什么是文件粉碎?在计算机中,当我们删除一个文件时,实际上只是将该文件从文件系统的文件目录中删除,并不是真正地将文件内......
  • 读取pkl python
    如何读取pkl文件作为一名经验丰富的开发者,很高兴能够帮助你解决关于读取pkl文件的问题。在本文中,我将向你介绍读取pkl文件的步骤和相应的Python代码,并提供详细的解释。让我们开始吧!读取pkl文件的流程在开始编写代码之前,先让我们了解一下整个读取pkl文件的流程。下面是一个简单的......
  • 盘点一个Python自动化办公的实战问题
    大家好,我是皮皮。一、前言前几天在Python白银交流群【东哥】问了一个Python自动化办公的问题,一起来看看吧。问题描述:大佬们,这个Excel表格中,针对C列到N列,我想要取每一行的数字,最后输出一句话,如针对第二行数据的话最后生成:该订单对应7个J01140300003、27个J01140300006;第三行数据......
  • 软件测试/人工智能|Python数据可视化神器pyecharts教程(二)
    前言上一篇文章,我们介绍了如何使用pyecharts展示带地图的数据分析结果,并且实际绘制了省份图和全国城市图,用于展示数据。本文我们继续来使用pyecharts绘制以地图为基础的图像。绘制分段图但是我们在绘制全国的图形时,没有考虑考虑到将不同级别的数据进行分层,比如每一段的颜色不一......
  • 软件测试/人工智能|Python数据可视化神器pyecharts教程(三)
    前言前面两篇文章,我们主要介绍了绘制基本的地图以及数据展示图,其实我们可以在地图上绘制更多类型的图形,本文就来继续介绍在地图的基础上进行我们的数据可视化工作。绘制轨迹图每年春运,都是大部分的人从北上广深等发达地区回到广大的中西部地区,春节之后,再从广大的中西部地区回到......
  • 软件测试/人工智能|Python数据可视化神器pyecharts教程(一)
    前言在很多时候,枯燥的数字并不能很直观的展示地域的差别,比如一个企业,想要分析产品在国内的销售情况,报表可能并不能最直接的展示差异,而一个结合地图的展示,就会直观得多,更便于大家去看到差距,更利于决策。当然,除了做商业决策,将数据与地图结合,也更便于我们展示诸如人口密度,经济总量......
  • Python学习5
    jsonjson是一种轻量级的数据交互格式,可以按照json指定的格式去组织和封装数据.python语言使用json有很大优势,因为,json无非就是一个单独的字典或者一个内部元素都是字典的列表,所以,json可以直接和Python的字典或者列表进行无缝转换。json本质上是一个带有特定格式的字符串主要功......
  • 软件测试/人工智能|Java Edit Plus 安装与配置指南
    前言最近我这个一直使用Python的人,开始尝试学习了一下Java,我的朋友跟我说,别像Python那样,开始就使用一个功能强大的IDE,Java语法更为复杂,可以先使用一个轻量化的编辑器,我开始准备使用notepad++,我朋友跟我推荐了EditPlus,我使用之后,就真香了,本文就给大家介绍一下EditPlus的安装和配......
  • 【python基础之命名空间与作用域】---命名空间与作用域
    title:【python基础之命名空间与作用域】---命名空间与作用域date:2023-12-1118:44:060updated:2023-12-1118:44:00description:cover:https://home.cnblogs.com/u/dream-ze/【一】名称空间与闭包【1】什么是名称空间名称空间即存放名字与对象映射/绑......