sns.lineplot()
—— 折线图(Line Plot)
seaborn.lineplot()
用于 绘制数值变量的趋势,适用于 时间序列、变量间关系分析、趋势可视化。
1. 语法
import seaborn as sns
sns.lineplot(data=None, x=None, y=None, hue=None, style=None, size=None, markers=True, dashes=True)
主要参数
参数 | 作用 |
---|---|
data | DataFrame 数据集 |
x | X 轴变量(通常为时间) |
y | Y 轴变量(数值) |
hue | 按类别分色 |
style | 按类别改变折线样式 |
size | 按类别改变折线粗细 |
markers | 是否添加点标记 |
dashes | 是否使用虚线 |
2. 基本示例
2.1 画折线图
import seaborn as sns
import matplotlib.pyplot as plt
# 加载数据
data = sns.load_dataset("flights")
# 绘制折线图
sns.lineplot(data=data, x="year", y="passengers")
plt.title("Yearly Passenger Growth")
plt.show()
📌 说明
x="year"
→ 年份。y="passengers"
→ 乘客数量(趋势分析)。
2.2 按类别绘制(hue
参数)
sns.lineplot(data=data, x="year", y="passengers", hue="month")
plt.show()
📌 作用
hue="month"
→ 按月份绘制不同颜色的曲线。
2.3 改变折线样式(style
参数)
sns.lineplot(data=data, x="year", y="passengers", hue="month", style="month")
plt.show()
📌 作用
style="month"
→ 不同月份用不同的折线样式。
2.4 改变线条粗细(size
参数)
sns.lineplot(data=data, x="year", y="passengers", hue="month", size="month")
plt.show()
📌 作用
size="month"
→ 不同月份用不同的线条粗细。
3. 进阶用法
3.1 添加点标记(markers=True
)
sns.lineplot(data=data, x="year", y="passengers", hue="month", markers=True)
plt.show()
📌 作用
markers=True
在数据点上添加标记。
3.2 关闭虚线(dashes=False
)
sns.lineplot(data=data, x="year", y="passengers", hue="month", dashes=False)
plt.show()
📌 作用
dashes=False
→ 所有线条都为实线。
4. sns.lineplot()
vs sns.relplot(kind="line")
sns.lineplot() | sns.relplot(kind="line") | |
---|---|---|
默认类型 | 折线图 | 支持 col /row 多子图 |
支持 hue /style | ✅ | ✅ |
支持 col /row 多子图 | ❌ | ✅ |
sns.relplot(data=data, x="year", y="passengers", hue="month", kind="line", col="month")
plt.show()
5. 总结
✅ sns.lineplot()
适用于数值变量的趋势分析,特别是时间序列数据。
✅ 常见参数
hue
按类别分色,style
改变折线样式,size
调整粗细。markers=True
添加点标记,dashes=False
使用实线。