软件测试/人工智能|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结合地图进行数据可视化的两个高级用法,一个是用于展示数据的流向,一个是用于展示数据的密度,希望本文能够帮到大家!

相关文章
|
9月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
1054 19
|
8月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
394 1
|
9月前
|
数据采集 存储 JSON
使用Python获取1688商品详情的教程
本教程介绍如何使用Python爬取1688商品详情信息,涵盖环境配置、代码编写、数据处理及合法合规注意事项,助你快速掌握商品数据抓取与保存技巧。
|
10月前
|
并行计算 算法 Java
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
Python解释器不止CPython,还包括PyPy、MicroPython、GraalVM等,各具特色,适用于不同场景。本文深入解析Python解释器的工作原理、内存管理机制、GIL限制及其优化策略,并介绍性能调优工具链及未来发展方向,助力开发者提升Python应用性能。
557 0
|
机器学习/深度学习 存储 人工智能
AI职场突围战:夸克应用+生成式人工智能认证,驱动“打工人”核心竞争力!
在AI浪潮推动下,生成式人工智能(GAI)成为职场必备工具。文中对比了夸克、豆包、DeepSeek和元宝四大AI应用,夸克以“超级入口”定位脱颖而出。同时,GAI认证为职场人士提供系统学习平台,与夸克结合助力职业发展。文章还探讨了职场人士如何通过加强学习、关注技术趋势及培养合规意识,在AI时代把握机遇。
|
机器学习/深度学习 人工智能 自然语言处理
人工智能应用领域有哪些
本文全面探讨了人工智能(AI)的应用领域和技术核心,涵盖医疗、交通、金融、教育、制造、零售等多个行业,并分析了AI技术的局限性及规避策略。同时,介绍了生成式人工智能认证项目的意义与展望。尽管AI发展面临数据依赖和算法可解释性等问题,但通过优化策略和经验验证,可推动其健康发展。未来,AI将在更多领域发挥重要作用,助力社会进步。
|
机器学习/深度学习 人工智能 运维
人工智能在事件管理中的应用
人工智能在事件管理中的应用
426 21
|
机器学习/深度学习 人工智能 搜索推荐
探索人工智能在现代医疗中的革新应用
本文深入探讨了人工智能(AI)技术在医疗领域的最新进展,重点分析了AI如何通过提高诊断准确性、个性化治疗方案的制定以及优化患者管理流程来革新现代医疗。文章还讨论了AI技术面临的挑战和未来发展趋势,为读者提供了一个全面了解AI在医疗领域应用的视角。
349 11
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在医疗诊断中的应用与前景####
本文深入探讨了人工智能(AI)技术在医疗诊断领域的应用现状、面临的挑战及未来发展趋势。通过分析AI如何辅助医生进行疾病诊断,提高诊断效率和准确性,以及其在个性化医疗中的潜力,文章揭示了AI技术对医疗行业变革的推动作用。同时,也指出了数据隐私、算法偏见等伦理问题,并展望了AI与人类医生协同工作的前景。 ####
1037 0
|
机器学习/深度学习 数据采集 人工智能
深度探索:人工智能在医疗影像诊断中的应用与挑战####
本文旨在深入剖析人工智能(AI)技术在医疗影像诊断领域的最新进展、核心优势、面临的挑战及未来发展趋势。通过综合分析当前AI算法在提高诊断准确性、效率及可解释性方面的贡献,结合具体案例,揭示其在临床实践中的实际价值与潜在局限。文章还展望了AI如何与其他先进技术融合,以推动医疗影像学迈向更高层次的智能化时代。 ####
1214 35

推荐镜像

更多