Pyecharts之折线图的灵活运用

作者名片
🤵‍♂️ 个人主页:@抱抱宝
😄微信公众号:宝宝数模AI(见文末)
✍🏻作者简介:阿里云专家博主 | 持续分享机器学习、数学建模、数据分析、AI人工智能领域相关知识,和大家一起进步!
🐋 如果文章对你有帮助的话,
欢迎👍🏻点赞📂收藏 +关注


折线图是数据可视化中常用的一种图表类型,尤其适用于展示数据的趋势和变化。通过 Pyecharts,我们可以轻松地创建各种类型的折线图,以满足不同的数据展示需求。本篇文章将介绍如何绘制基础折线图、进行折线图的平滑处理以及自定义坐标轴标签文本,帮助您更灵活地运用折线图进行数据可视化。

一、基础折线图绘制

基础折线图用于展示数据在不同类别或时间点上的变化情况。下面我们将介绍如何使用 Pyecharts 绘制一个简单的折线图。

# 导入所需的库
from pyecharts.charts import Line
from pyecharts import options as opts

# 创建一个 Line 实例
line_basic = Line()

# 添加横坐标数据,例如月份
months = ['一月', '二月', '三月', '四月', '五月', '六月']
line_basic.add_xaxis(months)

# 添加纵坐标数据
sales = [150, 230, 224, 218, 135, 147]
line_basic.add_yaxis(
    "销售量",
    sales,
    linestyle_opts=opts.LineStyleOpts(width=4)  # 设置线条宽度为4
)

# 设置全局选项,包括图表标题和坐标轴标签
line_basic.set_global_opts(
    title_opts=opts.TitleOpts(title="基础折线图示例"),
    xaxis_opts=opts.AxisOpts(name="月份"),
    yaxis_opts=opts.AxisOpts(name="销售量")
)

# 在 Jupyter Notebook 中显示图表
line_basic.render_notebook()

二、折线图平滑处理

在某些情况下,折线图的折线可能显得较为生硬。通过平滑处理,可以使折线更加流畅,提升图表的视觉效果。Pyecharts 提供了 is_smooth 参数,用于控制折线的平滑度。

# 导入所需的库
from pyecharts.charts import Line
from pyecharts import options as opts

# 创建一个 Line 实例
line_smooth = Line()

# 添加横坐标数据,例如季度
quarters = ['第一季度', '第二季度', '第三季度', '第四季度']
line_smooth.add_xaxis(quarters)

# 添加纵坐标数据并开启平滑处理
revenue = [1000, 1500, 1200, 1700]
line_smooth.add_yaxis(
    "收入",
    revenue,
    is_smooth=True,  # 开启平滑处理
    linestyle_opts=opts.LineStyleOpts(width=4)  # 设置线条宽度为4
)

# 设置全局选项,包括图表标题和坐标轴标签
line_smooth.set_global_opts(
    title_opts=opts.TitleOpts(title="平滑折线图示例"),
    xaxis_opts=opts.AxisOpts(name="季度"),
    yaxis_opts=opts.AxisOpts(name="收入(万元)")
)

# 在 Jupyter Notebook 中显示图表
line_smooth.render_notebook()

三、自定义坐标轴标签文本

有时候,默认的坐标轴标签可能无法完全满足您的需求。通过自定义坐标轴标签文本,可以实现标签的个性化展示,例如修改字体样式、颜色或旋转角度。下面我们将介绍如何实现这一功能,并将标签文本样式进行个性化设置。

# 导入所需的库
from pyecharts.charts import Line
from pyecharts import options as opts

# 创建一个 Line 实例
line_custom_label = Line()

# 添加横坐标数据,例如年份
years = ['2016', '2017', '2018', '2019', '2020', '2021']
line_custom_label.add_xaxis(years)

# 添加纵坐标数据
profits = [500, 700, 800, 600, 900, 1000]
line_custom_label.add_yaxis(
    "利润(万元)",
    profits,
    linestyle_opts=opts.LineStyleOpts(width=4)  # 设置线条宽度为4
)

# 设置系列选项,包括显示数据标签
line_custom_label.set_series_opts(
    label_opts=opts.LabelOpts(
        is_show=True,         # 显示数据标签
        position="top"        # 标签位置设置为顶部
    )
)

# 设置全局选项,包括自定义坐标轴标签文本
line_custom_label.set_global_opts(
    title_opts=opts.TitleOpts(title="自定义坐标轴标签的折线图"),
    xaxis_opts=opts.AxisOpts(
        name="年份",
        axislabel_opts=opts.LabelOpts(
            rotate=45,          # 旋转45度
            color="#FF0000",    # 设置标签颜色为红色
            font_size=12        # 设置字体大小
        )
    ),
    yaxis_opts=opts.AxisOpts(
        name="利润(万元)",
        axislabel_opts=opts.LabelOpts(
            color="#0000FF",    # 设置标签颜色为蓝色
            font_size=12        # 设置字体大小
        )
    )
)

# 在 Jupyter Notebook 中显示图表
line_custom_label.render_notebook()

四、综合示例

为了更好地理解以上各个技巧的应用,下面我们将这些功能结合起来,创建一个综合性的折线图,展示多个数据系列、平滑处理、加粗线条以及自定义坐标轴标签文本。

# 导入所需的库
from pyecharts.charts import Line
from pyecharts import options as opts

# 创建一个 Line 实例
line_comprehensive = Line()

# 添加横坐标数据,例如月份
months = ['一月', '二月', '三月', '四月', '五月', '六月']
line_comprehensive.add_xaxis(months)

# 添加多个纵坐标数据系列,并开启平滑处理和加粗线条
line_comprehensive.add_yaxis(
    "产品 A",
    [120, 132, 101, 134, 90, 230],
    is_smooth=True,
    linestyle_opts=opts.LineStyleOpts(width=4),  # 设置线条宽度为4
    label_opts=opts.LabelOpts(is_show=False),
    itemstyle_opts=opts.ItemStyleOpts(color="#1f77b4")  # 蓝色
)
line_comprehensive.add_yaxis(
    "产品 B",
    [220, 182, 191, 234, 290, 330],
    is_smooth=True,
    linestyle_opts=opts.LineStyleOpts(width=4),  # 设置线条宽度为4
    label_opts=opts.LabelOpts(is_show=False),
    itemstyle_opts=opts.ItemStyleOpts(color="#ff7f0e")  # 橙色
)
line_comprehensive.add_yaxis(
    "产品 C",
    [150, 232, 201, 154, 190, 330],
    is_smooth=True,
    linestyle_opts=opts.LineStyleOpts(width=4),  # 设置线条宽度为4
    label_opts=opts.LabelOpts(is_show=False),
    itemstyle_opts=opts.ItemStyleOpts(color="#2ca02c")  # 绿色
)

# 设置全局选项,包括自定义坐标轴标签文本和工具提示
line_comprehensive.set_global_opts(
    title_opts=opts.TitleOpts(title="综合示例折线图"),
    tooltip_opts=opts.TooltipOpts(trigger="axis"),
    xaxis_opts=opts.AxisOpts(
        name="月份",
        axislabel_opts=opts.LabelOpts(
            rotate=30,          # 旋转30度
            color="#333333",    # 设置标签颜色为深灰色
            font_size=12        # 设置字体大小
        )
    ),
    yaxis_opts=opts.AxisOpts(
        name="销售量",
        axislabel_opts=opts.LabelOpts(
            color="#333333",    # 设置标签颜色为深灰色
            font_size=12        # 设置字体大小
        )
    ),
    legend_opts=opts.LegendOpts(pos_top="10%")  # 设置图例位置
)

# 在 Jupyter Notebook 中显示图表
line_comprehensive.render_notebook()

五、总结

通过本文的内容,我们介绍如何使用 Pyecharts 绘制基础折线图、进行折线图的平滑处理、自定义坐标轴标签文本以及加粗折线。这些技巧将帮助大家在实际的数据可视化工作中,灵活地运用折线图展示数据的趋势和变化。在后续的文章中,我们将继续探索其他类型的图表及更高级的可视化技巧,敬请期待!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抱抱宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值