作者名片
🤵♂️ 个人主页:@抱抱宝
😄微信公众号:宝宝数模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 绘制基础折线图、进行折线图的平滑处理、自定义坐标轴标签文本以及加粗折线。这些技巧将帮助大家在实际的数据可视化工作中,灵活地运用折线图展示数据的趋势和变化。在后续的文章中,我们将继续探索其他类型的图表及更高级的可视化技巧,敬请期待!