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

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

前言

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

当然,除了做商业决策,将数据与地图结合,也更便于我们展示诸如人口密度,经济总量等数据,总之,数据可视化是极大地方便了我们的数据分析和评估的。本文就来介绍一下使用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文件

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

image.png

中国地图

我们设置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文件

总结

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

相关文章
|
3月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
5月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
2月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
268 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
4月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
966 10
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
1023 55
|
3月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
11月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
574 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
4月前
|
JSON 安全 测试技术
什么是API接口测试?这可能是全网最全的教程了!
API 是应用程序间的“中间人”,用于实现通信和数据交换。随着微服务架构的普及,API 数量激增,其质量对系统稳定性至关重要。API 测试可验证功能、性能与安全性,帮助开发者在部署前发现并修复问题,提升系统可靠性。测试内容包括请求方法、URL、请求头、请求体、响应状态码与响应数据等。常用工具如 Postman、AREX 可辅助测试,确保 API 在不同场景下的正确性与稳定性。
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
9月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
549 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能

热门文章

最新文章

推荐镜像

更多