Python使用Pyecharts绘制各种折线图的实战指南

 更新时间:2026年02月16日 07:49:27   作者:忘忧记  
这篇文章主要为大家详细介绍了Python如何使用Pyecharts绘制各种折线图,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下

我们一般图表生成的流程如下:

  • 导入需要的模块
  • 准备数据
  • 创建折线图实例
  • 增加数据
  • 渲染图表
  • 结果展示

基本折线图

# 导入需要的模块
from pyecharts import options as opts
from pyecharts.charts import Line

# 初始化折线图
line = Line()

# 准备数据
line.add_xaxis(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"])
line.add_yaxis("Temperature", [20, 22, 24, 26, 28, 30, 32])

# 渲染图表
line.set_global_opts(
    title_opts=opts.TitleOpts(title="Weekly Temperature"),
    xaxis_opts=opts.AxisOpts(name="Day of Week"),
    yaxis_opts=opts.AxisOpts(name="Temperature (°C)")
)

#结果展示
line.render("line_chart.html")

多条折线图

如果需要在同一张图表中展示多条折线,比如比较不同城市的温度变化情况,可以使用 add_yaxis 方法添加多条数据。

line = Line()

# 添加 x 轴数据
line.add_xaxis(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"])

# 添加多条 y 轴数据
line.add_yaxis("City A", [22, 24, 26, 28, 30, 32, 34])
line.add_yaxis("City B", [20, 22, 24, 26, 28, 30, 32])

# 设置全局配置项
line.set_global_opts(
    title_opts=opts.TitleOpts(title="Weekly Temperature Comparison"),
    xaxis_opts=opts.AxisOpts(name="Day of Week"),
    yaxis_opts=opts.AxisOpts(name="Temperature (°C)"),
    tooltip_opts=opts.TooltipOpts(trigger="axis")
)

line.render("multi_line_chart.html")

平滑折线图

Pyecharts 也支持将折线设置为平滑曲线,适合展示连续数据的趋势。

通过is_smooth=True 参数设置平滑曲线图

line = Line()

# 添加数据,设置平滑线
line.add_xaxis(["January", "February", "March", "April", "May", "June", "July"])
line.add_yaxis("Sales", [150, 200, 250, 300, 350, 400, 450], is_smooth=True)

# 设置全局配置项
line.set_global_opts(
    title_opts=opts.TitleOpts(title="Monthly Sales"),
    xaxis_opts=opts.AxisOpts(name="Month"),
    yaxis_opts=opts.AxisOpts(name="Sales (Units)")
)

line.render("smooth_line_chart.html")

增加最大值和最小值和平均值

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

# 数据
x_data = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
y_data1 = [120, 200, 150, 80, 70, 110, 130]
y_data2 = [90, 150, 200, 120, 100, 80, 110]

line=(
    # 创建折线图实例
    Line()
    # 将准备好的两组数据添加到折线图实例中
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(series_name="y1线",y_axis=y_data1,symbol="arrow",is_symbol_show=True)
    .add_yaxis(series_name="y2线",y_axis=y_data2, markpoint_opts=opts.MarkPointOpts(
            data=[
                opts.MarkPointItem(type_="max", name="最大值"),
                opts.MarkPointItem(type_="min", name="最小值"),
            ]
        ),
        markline_opts=opts.MarkLineOpts(
            data=[opts.MarkLineItem(type_="average", name="平均值")]
        ))
    .set_global_opts(title_opts=opts.TitleOpts(title="多折线重叠"))
)

# 渲染图表
line.render_notebook()

阶梯图

在 Pyecharts 中,我们可以通过 add_yaxis 方法中的 step 参数来绘制阶梯图。step 参数可以设置为 True,表示绘制阶梯线。

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

# 初始化折线图
line = Line()

# 添加 X 轴数据
line.add_xaxis(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"])

# 添加 Y 轴数据,并设置为阶梯图
line.add_yaxis("Sales", [100, 200, 150, 300, 250, 350, 400], is_step=True)

# 设置全局配置项
line.set_global_opts(
    title_opts=opts.TitleOpts(title="Weekly Sales - Step Chart"),
    xaxis_opts=opts.AxisOpts(name="Day of Week"),
    yaxis_opts=opts.AxisOpts(name="Sales (Units)"),
    tooltip_opts=opts.TooltipOpts(trigger="axis")
)

# 渲染为本地 HTML 文件
line.render("step_line_chart.html")

面积折线图

通过设置 area_style_opts=opts.AreaStyleOpts(opacity=0.3))

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

# 创建一个折线图实例
line = Line()

# 添加 X 轴数据
line.add_xaxis(["January", "February", "March", "April", "May", "June", "July"])

# 添加 Y 轴数据,并设置为面积折线图
line.add_yaxis("Sales", [150, 200, 250, 300, 350, 400, 450], 
               is_smooth=True, 
               area_style_opts=opts.AreaStyleOpts(opacity=0.3))

# 设置全局配置项
line.set_global_opts(
    title_opts=opts.TitleOpts(title="Monthly Sales - Area Line Chart"),
    xaxis_opts=opts.AxisOpts(name="Month"),
    yaxis_opts=opts.AxisOpts(name="Sales (Units)"),
    tooltip_opts=opts.TooltipOpts(trigger="axis")
)

# 渲染为本地 HTML 文件
line.render("area_line_chart.html")

多条面积折线图

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

# 创建 Line 图实例
line = Line()

# 添加 X 轴数据(这里以月份为例)
line.add_xaxis(["January", "February", "March", "April", "May", "June", "July"])

# 添加多个 Y 轴数据,并设置为面积折线图
# 1. 产品A
line.add_yaxis("Product A", 
               [150, 200, 250, 300, 350, 400, 450], 
               is_smooth=True,  # 使用 linestyle_opts 替代
               areastyle_opts=opts.AreaStyleOpts(opacity=0.3),  # 设置区域填充
               linestyle_opts=opts.LineStyleOpts(color="green"))  # 设置折线颜色为绿色

# 2. 产品B
line.add_yaxis("Product B", 
               [100, 160, 220, 270, 320, 350, 400], 
               is_smooth=True,  # 使用 linestyle_opts 替代
               areastyle_opts=opts.AreaStyleOpts(opacity=0.4),  # 设置区域填充,透明度为0.4
               linestyle_opts=opts.LineStyleOpts(color="blue"))  # 设置折线颜色为蓝色

# 3. 产品C
line.add_yaxis("Product C", 
               [80, 120, 180, 230, 270, 320, 360], 
               is_smooth=True,  # 使用 linestyle_opts 替代
               areastyle_opts=opts.AreaStyleOpts(opacity=0.2),  # 设置区域填充,透明度为0.2
               linestyle_opts=opts.LineStyleOpts(color="red"))  # 设置折线颜色为红色

# 设置全局配置项
line.set_global_opts(
    title_opts=opts.TitleOpts(title="Product Sales Comparison - Area Line Chart"),
    xaxis_opts=opts.AxisOpts(name="Month"),  # X 轴名称
    yaxis_opts=opts.AxisOpts(name="Sales (Units)"),  # Y 轴名称
    tooltip_opts=opts.TooltipOpts(trigger="axis"),  # 鼠标悬停显示提示
    legend_opts=opts.LegendOpts(is_show=True)  # 显示图例
)

# 渲染图表为 HTML 文件
line.render("multiple_area_line_chart.html")

1.添加多个系列:

使用 add_yaxis 方法添加不同的产品(或不同的系列)数据。在每次调用时设置 is_smooth=True 来平滑折线,area_style=opts.AreaStyleOpts(opacity=0.3) 设置折线下方区域的透明度(你可以根据需求调整透明度),并使用 linestyle_opts 设置折线颜色。

2.area_style_opts 的作用:

  • opacity=0.3 表示填充区域的透明度。你可以调整不同系列的透明度,使图表更具层次感。
  • is_smooth=True 用于平滑折线,让曲线更加平滑。

3.设置全局配置:

  • 使用 set_global_opts 方法配置标题、坐标轴和提示框等全局设置。
  • legend_opts=opts.LegendOpts(is_show=True) 用于显示图例,这样可以通过点击图例来选择/隐藏不同的系列。

到此这篇关于Python使用Pyecharts绘制各种折线图的实战指南的文章就介绍到这了,更多相关Python Pyecharts绘制折线图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • TensorFlow tensor的拼接实例

    TensorFlow tensor的拼接实例

    今天小编就为大家分享一篇TensorFlow tensor的拼接实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 浅谈python类属性的访问、设置和删除方法

    浅谈python类属性的访问、设置和删除方法

    下面小编就为大家带来一篇浅谈python类属性的访问、设置和删除方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 神经网络相关之基础概念的讲解

    神经网络相关之基础概念的讲解

    今天小编就为大家分享一篇关于神经网络相关之基础概念的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Mac安装python3的方法步骤

    Mac安装python3的方法步骤

    这篇文章主要介绍了Mac安装python3的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • python实现封装得到virustotal扫描结果

    python实现封装得到virustotal扫描结果

    这篇文章主要介绍了python实现封装得到virustotal扫描结果的方法,是比较实用的技巧,可将扫描结果写入数据库,需要的朋友可以参考下
    2014-10-10
  • 使用Python实现将中文语音翻译成英语音频功能

    使用Python实现将中文语音翻译成英语音频功能

    本文介绍了中文语音翻译成英语音频的实现方法,主要分为三个步骤:语音识别(将中文语音转为文本)、文本翻译(中文转英文)和语音合成(英文文本转音频),文章详细说明了注意事项,需要的朋友可以参考下
    2025-08-08
  • Python调用OpenCV实现图像平滑代码实例

    Python调用OpenCV实现图像平滑代码实例

    这篇文章主要介绍了Python调用OpenCV实现图像平滑代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python实现将不规范的英文名字首字母大写

    Python实现将不规范的英文名字首字母大写

    这篇文章给大家主要介绍的是利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。文中给出了三种解决方法,大家可以根据需要选择使用,感兴趣的朋友们下面来一起学习学习吧。
    2016-11-11
  • 使用Doxygen生成Python与C++ 的项目文档

    使用Doxygen生成Python与C++ 的项目文档

    Doxygen 是一款强大的文档生成工具,能够从带有特殊格式注释的源代码中自动生成高质量的技术文档,下面小编就和大家简单聊聊如何使用Doxygen生成项目文档吧
    2025-12-12
  • 简单讲解Python中的数字类型及基本的数学计算

    简单讲解Python中的数字类型及基本的数学计算

    这篇文章主要介绍了Python中的数字类型及基本的数学计算,与其他语言一样,除法相对复杂些,不过本文并未就此深入,需要的朋友可以参考下
    2016-03-03

最新评论