首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >第十七章:Python数据可视化工工具-Pyecharts库

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

作者头像
啊阿狸不会拉杆
发布2026-01-21 10:19:26
发布2026-01-21 10:19:26
1320
举报

一、Pyecharts简介

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

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

  • 丰富的图表类型(30+)
  • 动态交互功能(数据筛选、缩放等)
  • 简洁的API设计
  • 良好的网页兼容性

二、环境配置

安装命令:

代码语言:javascript
复制
pip install pyecharts

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

三、核心概念解析

1. Chart类体系

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

2. 配置项(Option)

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

Python

代码语言:javascript
复制
from pyecharts.charts import Bar

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

3. 数据格式

支持多种数据格式:

Python

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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将继续发挥其独特的优势,为用户带来更加精彩和专业的可视化体验。资源绑定附上完整资源供读者参考学习!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-30,如有侵权请联系 [email protected] 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 [email protected] 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Pyecharts简介
  • 二、环境配置
  • 三、核心概念解析
    • 1. Chart类体系
    • 2. 配置项(Option)
    • 3. 数据格式
  • 四、常用图表类型及示例
    • 1. 折线图(Line Chart)
    • 2. 柱状图(Bar Chart)
    • 3. 饼图(Pie Chart)
    • 4. 散点图(Scatter Chart)
  • 五、高级功能与配置
    • 1. 数据缩放(Data Zoom)
    • 2. 交互事件(Interaction Events)
    • 3. 主题切换(Theme Switching)
  • 六、Pyecharts常用函数及参数总结
  • 七、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档