上一篇我们学会了散点图,用来展示变量之间的关系;今天我们学习另一种高频图表——线图,核心作用是展示数据随时间或连续变量的变化趋势。
不管是“1949-1960年航班数量的变化”“每月销售额的波动”,还是“学生成绩的变化趋势”,用Seaborn线图都能清晰呈现,代码极简,颜值在线✨
Seaborn绘制线图的核心函数是sns.lineplot(),支持单条线、多条线(分组)、误差线等功能,我们用航班数据集(时间序列数据)演示,新手直接复制运行。
展示1949-1960年各月份航班数量的变化趋势,按月份分组,生成多条线,直观看出每年不同月份的航班波动:
import seaborn as snsimport matplotlib.pyplot as plt## 1. 加载航班数据集(时间序列数据,自带年份、月份、航班数量)flights = sns.load_dataset("flights")sns.set_style("whitegrid", rc={"font.sans-serif": ["SimHei"]})# 2. 绘制基础线图:x轴=年份,y轴=航班数量,按月份分组(多条线)sns.lineplot(x="year", y="passengers", hue="month", data=flights)# 3. 优化图表:调整标题、坐标轴标签、图例位置(避免遮挡)plt.title("1949-1960年各月份航班数量变化趋势")plt.xlabel("年份")plt.ylabel("航班数量(人)")plt.legend(bbox_to_anchor=(1.05, 1), loc="upper left") # 图例放在右侧plt.tight_layout()# 显示图表plt.show()

实际分析中,我们常常需要自定义线图的颜色、线宽、标记点,还可能需要添加误差线(展示数据波动),提升图表专业性,这些用Seaborn都能一键实现:
import seaborn as snsimport matplotlib.pyplot as pltflights = sns.load_dataset("flights")sns.set_style("whitegrid", rc={"font.sans-serif": ["SimHei"]})# 1. 自定义线图样式:指定颜色、线宽、标记点sns.lineplot(x="year", y="passengers", data=flights,color="#FF6B6B", # 线条颜色(红色)linewidth=2, # 线宽(2px,更醒目)marker="o", # 标记点样式(圆形)markersize=6, # 标记点大小markerfacecolor="white", # 标记点填充色(白色)markeredgecolor="black" # 标记点边框色(黑色))plt.title("1949-1960年航班数量整体变化趋势")plt.xlabel("年份")plt.ylabel("航班数量(人)")plt.show()# 2. 添加误差线(展示数据波动,适合科研、严谨分析)sns.lineplot(x="year", y="passengers", hue="month", data=flights,errorbar="sd" # errorbar="sd" 表示添加标准差误差线)plt.title("1949-1960年各月份航班数量变化趋势(带误差线)")plt.legend(bbox_to_anchor=(1.05, 1), loc="upper left")plt.tight_layout()plt.show()

分组过多(如12个月份),图例会遮挡图表?用plt.legend(bbox_to_anchor=(1.05, 1), loc="upper left")将图例放在图表右侧;
不需要分组?去掉hue参数,即可生成单条线图;
误差线不需要?不写errorbar参数即可,默认不显示;
线条太细/太粗?用linewidth参数调整,建议设置为1.5-2px,兼顾美观和清晰。
本篇我们掌握了Seaborn线图的基础绘制、样式自定义和误差线添加,能轻松应对时间序列分析、数据趋势展示等场景~
下篇我们将进入统计类图表的学习,讲解直方图,教你直观展示数据的分布区间(比如“账单金额集中在哪个范围”),搞定统计分析中的基础可视化需求!
往期回顾:
Python学习笔记——从入门到报废(十九、第三方库(下))
(文章使用AI润色和排版)