当前位置: 首页 > news >正文

第十七章:Python数据可视化工工具-Pyecharts库

一、Pyecharts简介

资源绑定附上完整资源供读者参考学习!

Pyecharts是一个基于百度开源可视化库ECharts的Python数据可视化工具,支持生成交互式的HTML格式图表。相较于Matplotlib等静态图表库,Pyecharts具有以下优势:

  • 丰富的图表类型(30+)

  • 动态交互功能(数据筛选、缩放等)

  • 简洁的API设计

  • 良好的网页兼容性

二、环境配置

安装命令:

pip install pyecharts

推荐配合Jupyter Notebook使用(需安装jupyter-echarts插件)或直接生成HTML文件。

三、核心概念解析

1. Chart类体系

Pyecharts提供BarLinePieScatter等类对应不同图表类型,均继承自基类Chart

2. 配置项(Option)

通过set_global_opts()set_series_opts()配置图表

Python

from pyecharts.charts import Bar

bar = Bar()
bar.set_global_opts(
    title_opts={"text": "销售数据"},
    toolbox_opts={"show": True}  # 显示工具箱
)

3. 数据格式

支持多种数据格式:

Python

from pyecharts.charts import Bar

bar = Bar()
bar.set_global_opts(
    title_opts={"text": "销售数据"},
    toolbox_opts={"show": True}  # 显示工具箱
)
# 方式1:分别添加X/Y轴
bar.add_xaxis(["手机", "电脑", "平板"])
bar.add_yaxis("销售额", [1200, 800, 450])

# 方式2:二维数据
bar.add_dataset("", [["手机",1200], ["电脑",800], ["平板",450]])

四、常用图表类型及示例

1. 折线图(Line Chart)

折线图用于展示数据随时间或其他连续变量的变化趋势

Python

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

dates = ["2023-01-01", "2023-02-01", "2023-03-01", "2023-04-01", "2023-05-01", "2023-06-01"]
stock_a = [100, 105, 110, 108, 115, 120]
stock_b = [50, 48, 52, 55, 53, 57]
stock_c = [200, 195, 190, 192, 198, 205]

line = Line()
line.add_xaxis(dates)
line.add_yaxis("A股", stock_a)
line.add_yaxis("B股", stock_b)
line.add_yaxis("C股", stock_c)
line.set_global_opts(
    title_opts=opts.TitleOpts(title="A, B, C股价月增长"),
    legend_opts=opts.LegendOpts(is_show=True),
    tooltip_opts=opts.TooltipOpts(trigger="axis")
)
line.render("折线图.html")

2. 柱状图(Bar Chart)

柱状图用于比较不同类别数据的大小关系。

Python

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

bar = Bar()
bar.add_xaxis(["A", "B", "C", "D", "E"])
bar.add_yaxis("柱状图示例", [25, 40, 30, 35, 20])
bar.set_global_opts(
    title_opts=opts.TitleOpts(title="柱状图示例"),
    tooltip_opts=opts.TooltipOpts(trigger="axis")
)
bar.render("柱状图.html")

3. 饼图(Pie Chart)

饼图用于展示各部分在整体中的占比关系。

Python

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

pie = Pie()
pie.add("", [list(z) for z in zip(["A", "B", "C", "D", "E"], [25, 40, 30, 35, 20])])
pie.set_global_opts(title_opts=opts.TitleOpts(title="饼图示例"))
pie.render("饼图.html")

4. 散点图(Scatter Chart)

散点图用于分析两个变量之间的相关性。

Python

from pyecharts.charts import Scatter
from pyecharts import options as opts
import random

scatter = Scatter()
scatter.add_xaxis([random.randint(0, 100) for _ in range(100)])
scatter.add_yaxis("", [random.randint(0, 100) for _ in range(100)])
scatter.set_global_opts(
    title_opts=opts.TitleOpts(title="散点图示例"),
    xaxis_opts=opts.AxisOpts(type_="value"),
    yaxis_opts=opts.AxisOpts(type_="value")
)
scatter.render("散点图.html")

五、高级功能与配置

1. 数据缩放(Data Zoom)

数据缩放功能允许用户在包含大量数据的图表中,通过拖动滑块或选择特定区域来放大查看感兴趣的局部数据。

Python

from pyecharts.charts import Line
from pyecharts import options as opts
import numpy as np

line = Line()
line.add_xaxis(list(range(1, 1001)))
line.add_yaxis("随机数据", np.random.rand(1000).tolist())
line.set_global_opts(
    datazoom_opts=opts.DataZoomOpts(
        is_show=True,
        type_="slider",
        range_start=0,
        range_end=100
    )
)
line.render("数据缩放.html")

2. 交互事件(Interaction Events)

通过事件监听,可以为图表元素添加点击、双击、鼠标悬停等事件,实现自定义的交互逻辑。

Python

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

bar = Bar()
bar.add_xaxis(["A", "B", "C", "D", "E"])
bar.add_yaxis("系列1", [25, 40, 30, 35, 20])
bar.set_global_opts(
    title_opts=opts.TitleOpts(title="柱状图示例"),
    tooltip_opts=opts.TooltipOpts(is_show=True),
)
bar.set_series_opts(
    label_opts=opts.LabelOpts(is_show=True),
    itemstyle_opts={
        "normal": {
            "onEvents": {
                "click": "function(params) {"
                         "alert('点击了 ' + params.name + ' 的 ' + params.seriesName + ',值为 ' + params.value);"
                         "}"
            }
        }
    }
)
bar.render("交互事件.html")

3. 主题切换(Theme Switching)

Pyecharts支持多种内置主题,并允许用户自定义主题,满足不同的视觉风格需求。

Python

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

line = Line(init_opts=opts.InitOpts(theme="dark"))
line.add_xaxis(["A", "B", "C", "D", "E"])
line.add_yaxis("系列1", [25, 40, 30, 35, 20])
line.set_global_opts(
    title_opts=opts.TitleOpts(title="暗黑主题示例")
)
line.render("主题切换.html")

六、Pyecharts常用函数及参数总结

函数/方法用途参数说明
add_xaxis()添加X轴数据data(数据列表)
add_yaxis()添加Y轴数据series_name(系列名称),data(数据列表)
set_global_opts()设置全局配置项title_opts(标题配置),legend_opts(图例配置),toolbox_opts(工具箱配置)等
set_series_opts()设置系列配置项label_opts(标签配置),linestyle_opts(线条样式配置)等
render()渲染图表为HTML文件path(输出文件路径)
add_schema()添加时间轴方案play_interval(自动播放间隔)等
set_series_opts()设置系列选项label_opts(标签选项),linestyle_opts(线条样式选项)等

七、总结

    Pyecharts是一个功能强大的数据可视化库,不仅提供了丰富的图表类型和配置选项,还支持灵活的交互功能和主题切换。通过实际的代码示例,我们深入探讨了每个功能的实现细节和应用场景,希望能帮助读者在实际开发中更加得心应手。在未来的数据可视化领域,Pyecharts将继续发挥其独特的优势,为用户带来更加精彩和专业的可视化体验。资源绑定附上完整资源供读者参考学习!

相关文章:

  • Qt中的事件循环
  • “Error: Flash Download failed - Target DLL has been cancelled”
  • todesk控制端没声音 控制声音位置
  • 吴恩达深度学习复盘(2)神经网络的基本原理轮廓
  • ACM第二次排名赛
  • Java进阶——原生定时器
  • Python 爬虫(5)Beautiful Soup 4 实战
  • 数字隔离器选型与设计
  • 通过安当TDE透明加密实现ClickHouse数据库安全加密存储
  • 从失衡到平衡:手撕红黑树的插入旋转操作
  • 后端开发基础:语言选择与 RESTful API 设计
  • GET 和 POST 有什么区别
  • H3C交换机的配置 VLAN间通信及网关部署在三层交换机
  • vector算法练习
  • 关于OpenManu的技术实现与部署要求
  • QT对话框
  • 洛谷题单1-P5707 【深基2.例12】上学迟到-python-流程图重构
  • c++进阶之----哈希(桶)
  • 决策树原理详解
  • 3月30号
  • 网站建设资料 优帮云/地推拉新app推广平台有哪些
  • 网站数据比较/百度推广一个月多少钱
  • 广西柳州网站建设/建个网站费用多少
  • 广西南宁做网站/淘宝运营培训课程免费
  • 链接转换短网址/惠州seo怎么做
  • 商标设计logo图案需要注册吗/seo优化代理