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

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

前言

前面两篇文章,我们主要介绍了绘制基本的地图以及数据展示图,其实我们可以在地图上绘制更多类型的图形,本文就来继续介绍在地图的基础上进行我们的数据可视化工作。

绘制轨迹图

每年春运,都是大部分的人从北上广深等发达地区回到广大的中西部地区,春节之后,再从广大的中西部地区回到北上广深等发达地区的过程,我们就可以分析一下人口流动的轨迹,绘制人口流动的轨迹图,这个时候,我们需要引入的就是Geo类,代码如下:

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType

# 创建一个 Geo 对象 c,Geo 是 pyecharts 库中用于生成地理坐标图的类
c = (
    Geo()
        # 使用 add_schema 方法添加地图的 schema,指定了地图类型为“中国”以及相关的样式选项
        .add_schema(
        maptype="china",
        itemstyle_opts=opts.ItemStyleOpts(),
    )
        # 使用 add 方法向地图添加数据,第一部分数据为散点图,显示的是各个城市的标记点,用白色显示
        .add(
        "",
        [("赣州", 50), ("广州", 60), ("杭州", 70), ("厦门", 80)],
        type_=ChartType.EFFECT_SCATTER,
        color="white", # 城市的标记点颜色为白色
    )
        # 使用 add 方法向地图添加另一部分数据,显示的是连接各个城市的线,箭头指向的方向表示行程的起点和终点
        .add(
        "人口流向",
        [("赣州", "广州"), ("赣州", "深圳"), ("赣州", "杭州"), ("赣州", "厦门")],
        type_=ChartType.LINES,
        effect_opts=opts.EffectOpts(
            symbol=SymbolType.ARROW, symbol_size=6, color="red"
        ),  # 线条效果选项,箭头大小为6,颜色为红色
        linestyle_opts=opts.LineStyleOpts(curve=0.2),  # 线条样式选项,曲线值为0.2
    )
        # 使用 set_series_opts 方法设置系列选项,不显示标签
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        # 使用 set_global_opts 方法设置全局选项,设置地图标题为“行程轨迹地图”
        .set_global_opts(title_opts=opts.TitleOpts(title="春运人口迁徙地图"))

)

# 渲染图表
c.render("春运人口迁徙图.html")  # 将图表渲染为HTML文件

运行代码,生成的HTML文件在浏览器打开如下图:

image.png

绘制密度图

每年我们都会看到各种不同的统计数据图,包括人口统计,经济统计,我们就可以看到不同的密度图,比如人口密度图和经济密度图,我们可以通过pyecharts绘制该图像,接下来给大家绘制一下人口密度图,代码如下:

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



# 定义一个名为 MAP_DATA 的列表,包含了江西省各市的名称和人口密度数据(截至2011年)
MAP_DATA = [
    ["南昌", 883],
    ["九江", 239],
    ["景德镇", 309],
    ["萍乡", 472],
    ["新余", 378],
    ["鹰潭", 325],
    ["赣州", 228],
    ["吉安", 175],
    ["宜春", 266],
    ["抚州", 190],
    ["上饶", 282]
]

# 定义一个名为 NAME_MAP_DATA 的字典,用于映射地图数据中的区域名称和实际的区域名称
NAME_MAP_DATA = {
   
   
    # "key": "value"  # 这个字典的键值对表示的是地图数据中的区域名称和实际的区域名称的对应关系
    "南昌市": "南昌",
    "九江市": "九江",
    "景德镇市": "景德镇",
    "萍乡市": "萍乡",
    "新余市": "新余",
    "鹰潭市": "鹰潭",
    "赣州市": "赣州",
    "吉安市": "吉安",
    "宜春市": "宜春",
    "抚州市": "抚州",
    "上饶市": "上饶"
}

# 创建一个 Map 对象 c,这是 pyecharts 库中用于生成地图的对象
c = (
    Map()

        # 使用 add 方法向地图添加数据和配置项,其中 series_name 是系列名称,maptype 是地图类型,data_pair 是数据对,name_map 是区域名称映射表,is_map_symbol_show 控制是否显示地图标记
        .add(
        series_name="江西省人口密度",
        maptype="江西",
        data_pair=MAP_DATA,
        name_map=NAME_MAP_DATA,
        is_map_symbol_show=False,
    )

        # 使用 set_global_opts 方法设置全局配置项,其中包括标题选项、工具提示选项和视觉映射选项
        .set_global_opts(
        title_opts=opts.TitleOpts(
            # 设置地图的标题
            title="江西省人口密度",
            # 设置地图的副标题,并给出副标题的链接
            subtitle="数据来自网络"
        ),
        tooltip_opts=opts.TooltipOpts(
            # 设置触发工具提示的方式为“item”,即鼠标移动到地图标记上时显示工具提示
            trigger="item",
            # 设置工具提示的格式,这里用 HTML 格式设置了行内样式,使得工具提示中显示地区名称和人口密度,并规定字体大小和颜色
            formatter="{b}<br/>{c} (p / km2)"
        ),
        visualmap_opts=opts.VisualMapOpts(
            # 设置视觉映射的最小值和最大值,这里设置为150和900
            min_=150,
            max_=900,
            # 设置视觉映射的文本范围,这里设置为"High"和"Low"
            range_text=["High", "Low"],
            # 设置视觉映射是否可计算,这里设置为 True 表示可以手动拖动滑块改变视觉映射的值
            is_calculable=True,
            # 设置视觉映射的颜色范围,这里设置为"lightskyblue"(浅天蓝色)、"yellow"(黄色)和"orangered"(橙红色)
            range_color=["lightskyblue", "yellow", "orangered"],
        ),
    )
)

# 渲染图表
c.render("人口密度地图.html")  # 将图表渲染为HTML文件

运行代码,生成的HTML文件在浏览器中打开如下图:

image.png

总结

本文主要介绍了使用pyecharts结合地图进行数据可视化的两个高级用法,一个是用于展示数据的流向,一个是用于展示数据的密度,希望本文能够帮到大家!

相关文章
|
2天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
8 1
|
25天前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
39 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
10天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
15 1
|
11天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
31 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试中的人工智能:改变游戏规则的革新
在这篇技术性文章中,我们将深入探讨人工智能(AI)如何彻底改变了软件测试领域。从自动化测试到智能缺陷检测,AI不仅提高了测试的效率和准确性,还为软件开发团队提供了前所未有的洞察力。通过具体案例,本文揭示了AI在软件测试中应用的现状、挑战及未来趋势,强调了技术创新在提升软件质量与开发效率中的关键作用。
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试中的人工智能:提升效率与准确性的新途径
在当今快速发展的技术领域,人工智能(AI)正成为软件测试的重要工具。本文将探讨AI在软件测试中的应用,如何通过智能化手段提高测试的效率和准确性。从自动化测试到缺陷预测,我们将深入了解AI如何改变传统的软件测试方式,为软件开发流程带来革命性的变化。
|
1天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
24天前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
49 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试中的人工智能:现状与未来
【10月更文挑战第6天】 本文探讨了人工智能在软件测试中的应用,包括自动化测试、智能缺陷分析以及测试用例生成等方面。通过案例分析和未来趋势预测,文章展示了AI如何提高软件测试的效率和准确性,并指出了当前面临的挑战和未来的发展方向。
40 1
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试中的人工智能:改变游戏规则的技术革命
【10月更文挑战第10天】 本文深入探讨了人工智能在软件测试中的应用,揭示了它如何提高测试效率、减少人为错误,并预示了未来软件测试行业的发展趋势。通过案例分析和原理讲解,文章展现了AI技术在自动化测试、缺陷检测和性能评估等方面的巨大潜力。