Seaborn折线图:Python数据可视化与趋势分析
大家好!在本文中,我们将继续深入学习Seaborn,并重点探讨如何使用Seaborn绘制折线图。如果您对Seaborn热力图感兴趣,可以查阅我们之前的相关文章。
什么是折线图?使用Seaborn进行数据可视化
折线图是一种强大的数据可视化工具,它能够清晰地展示数据随时间或连续变量的变化趋势。通过Seaborn库,我们可以轻松地从数据集中预测结果,并分析数据的动态变化。
Seaborn折线图擅长表现连续值和分类值之间的关系,以连续数据点的形式直观呈现数据走势。
在本文中,我们将使用以下数据集来演示如何操作数据并生成折线图。请在继续阅读前,先查看下面的数据集快照。
在下面的数据集中,变量 ‘cyl’、’vs’、’am’、’gear’ 和 ‘carb’ 被视为分类变量,因为它们的所有数据值都属于特定的类别或值范围。
而数据集中其余的列则属于整数/连续变量,它们承载着离散的整数值。
输入的数据集:

绘制你的第一个Seaborn折线图
要开始使用折线图,我们首先需要将Seaborn库安装并导入到Python环境中。请使用以下命令进行安装:
语法:
pip install seaborn
安装完成后,将库导入到当前的工作环境:
语法:
import seaborn
在整个Seaborn系列教程中,我们将与Matplotlib库配合使用,以便更好地绘制和展示数据。
使用Seaborn创建单个折线图
我们可以提供离散值或使用完整数据集来创建Seaborn折线图。
语法:
seaborn.lineplot(x, y, data)
- x: 用于X轴的数据变量
- y: 用于Y轴的数据变量
- data: 指向整个数据集或数据值的对象
示例1:使用随机数据创建Seaborn折线图。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
Year = [2012, 2014, 2016, 2020, 2021, 2022, 2018]
Profit = [80, 75.8, 74, 65, 99.5, 19, 33.6]
data_plot = pd.DataFrame({"Year":Year, "Profit":Profit})
sns.lineplot(x = "Year", y = "Profit", data=data_plot)
plt.show()
在下面的折线图中,我们可以清晰地看到“年份”和“利润”这两个数据变量之间的线性关系。
结果:

示例2:使用数据集创建一条线图,展示数据列之间的关系。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,:5]
sns.lineplot(x = "drat", y = "mpg",data=info)
sns.set(style='dark')
plt.show()
输入数据集:

结果:

多个Seaborn折线图
我们可以在同一空间或图表中创建多条线来可视化数据。通过使用相同或多个数据列/变量,我们可以同时描述它们之间的关系。
使用`hue`参数为多个数据点创建颜色色调
参数`hue`可用于对数据集中的不同变量进行分组,并有助于描绘x轴和y轴数据列与传递给该参数的列之间的关系。
语法:
seaborn.lineplot(x,y,data,hue)
请给我一杯水,好吗?
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,:5]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="cyl")
plt.show()
如下图所示,以不同的颜色方案表示了‘drat’、‘mpg’和‘cyl’之间的关系。
输出:

使用`style`参数来绘制不同类型的线条。
这是文章《Seaborn折线图的数据可视化》的第3部分(共5部分)。
内容片段: 我们可以将style
参数设置为我们想要在x轴和y轴上显示的值,并且可以指定不同的线条结构:虚线、点线(标记)等。
句法:
seaborn.lineplot(x, y, data, style)
例子2:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,:5]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="cyl", style="cyl")
plt.show()
如图所示,通过不同的线条结构,清晰地展示了散点图中“cyl”数值与“mpg”和“drat”的关系,其中包括实线、虚线和标记等不同的线条形式。

使用Seaborn中的size
参数绘制多个折线图
我们甚至可以使用seaborn.lineplot()
函数的size
参数来表示多个数据变量之间的关系,并使用不同大小的线来绘制。因此,它可以作为一个分组变量,根据数据的大小来选择不同的线条粗细。
句法:
seaborn.lineplot(x, y, data, size)
例子3:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="gear",style="gear",size="gear")
plt.show()
输入数据集:


使用不同颜色调色板绘制Seaborn折线图
Seaborn的色图和调色板定义了可视化模型的颜色范围。参数“palette
”以及“hue
”可用于确定数据变量的颜色编码方案。
查看更多调色板,请参考以下链接:调色板
语法:
seaborn.lineplot(x, y, data, hue, palette)
示例:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="gear", palette = "Set1")
plt.show()
输出:

给Seaborn折线图添加误差线
可以使用折线图来定义置信水平/区间,通过 err_style
参数来描绘误差率。
语法:
seaborn.lineplot(x, y, data, err_style="bars")
示例:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.lineplot(x = "cyl", y = "mpg", data=info, err_style="bars")
plt.show()
产出:

使用seaborn.set()函数设置不同样式
5. 使用 `seaborn.set()` 函数设置图表样式
Python中的 `seaborn.set()` 函数可以用于以不同的背景样式显示图表,从而提升视觉效果。
语法:
seaborn.set(style)
请注意,`seaborn.set()` 函数应在绘制图表之前调用,以确保样式设置生效。
示例代码:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.set(style='darkgrid') # 设置图表背景样式为 'darkgrid'
sns.lineplot(x = "cyl", y = "mpg",data=info,hue="gear")
plt.show()
输出:

总结
至此,我们已经深入理解了Seaborn折线图的绘制方法及其各种变化和高级用法。希望本文能帮助您更好地进行数据可视化。
我强烈建议读者们通读Python Matplotlib教程,以更好地理解折线图的使用方法和更多自定义选项。