Seaborn折线图的数据可视化

大家好!在这篇文章中,我们将继续学习Seaborn,并了解Seaborn的线图绘制。最近我们已经介绍了Seaborn热力图,如果你对热力图有兴趣,可以去看看。


一个折线图是什么?

用Seaborn作为库来进行数据可视化,从建立在数据集上的模型中预测结果并分析数据的变化。

Seaborn的线图以连续和分类值的关系为特点,以连续数据点的格式展示。

在本文中,我们将使用以下数据集来操作数据并形成折线图。请在继续之前查看下面的数据集快照。

在下面的数据集中,数据变量’cyl’,’vs’,’am’,’gear’和’carb’是分类变量,因为所有的数据值都属于某个特定类别或一定范围的值。

在剩下的数据列中,属于整数/连续变量,因为它们携带着离散的整数值。

输入的数据集:

MTCARS Dataset

绘制你的第一个Seaborn折线图

为了开始使用折线图,我们需要通过以下命令将Seaborn库安装和导入到Python环境中。

语法:

pip install seaborn

当你完成安装后,将库导入到当前的工作环境并使用函数。

句法:

import seaborn

在整个 Seaborn 系列中,我们将使用 Matplotlib 库来绘制数据并以适当的方式展示出来。


使用Seaborn创建单个线图。

我们可以提供离散值或使用数据集来创建Seaborn线图。

语法:

seaborn.lineplot(x, y, data)
  • x: Data variable for the x-axis
  • y: The data variable for the y-axis
  • data: The object pointing to the entire data set or data values

例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()

在下面的折线图中,我们可以看到两个数据变量——“年份”和“利润”之间的线性关系。

结果:

LinePlot Example 1

例子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()

输入数据集:

Input Dataset Seaborn LinePlot

结果:

LinePlot Example 2

多个Seaborn折线图

我们可以在同一空间或图表中创建多条线来可视化数据。我们可以使用相同的或多个数据列/变量来同时描述它们之间的关系。

使用色相参数为多个数据点创建颜色色调

参数hue可以用来对数据集的不同变量分组,并且可以帮助描绘x轴和y轴数据列之间与传递给参数的列之间的关系。

句法:

seaborn.lineplot(x,y,data,hue)

请帮我翻译以下句子为中文:
“Can I have a glass of water, please?”

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’之间的关系。

输出:

Multiple Seaborn LinePlot

使用样式参数来绘制不同类型的线条。

我们可以将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”的关系,其中包括实线、虚线和标记等不同的线条形式。

输出:

Line Plot With style Parameter

使用Seaborn中的大小参数绘制多个折线图。

我们甚至可以使用seaborn.lineplot()函数的size参数来表示多个数据变量之间的关系,并使用不同大小的线来绘制。因此,它可以作为一个分组变量,根据数据的大小来选择不同的线条粗细。

句法:

seaborn.lineplot(x, y, data, size)

例子3:

The student asked the teacher for help with his assignment.

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()

输入数据集:

Dataset For Multiple Line Plot

输出:

Line Plot With size Parameter

使用不同的颜色调色板来配合线状图

Seaborn的色图和调色板定义了可视化模型的颜色范围。参数“调色板”以及“色调”可以用于确定数据变量的颜色编码方案。

查看更多调色板,请参考以下链接:调色板

语法:

seaborn.lineplot(x,y,data,hue,palette)

例如:

Original: “I am going to the store to buy some groceries.”
Paraphrased: “我打算去商店购买一些杂货。”

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()

输出:

Line Plot Palette

给线性图添加误差线。

可以使用线图来定义置信水平/区间,通过 err_style 参数来描绘误差率。

语法:

Only one option is needed:

seaborn.lineplot(x,y,data,err_style="bars")

For example, I ordered a pizza last night and it arrived within 20 minutes.

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()

产出:

Line Plot With err_style Parameter

使用seaborn.set()函数来设置不同的样式

Python seaborn.set() 函数可用于以不同的背景样式显示图表。

语法:

seaborn.set(style)

Please turn off the lights before leaving.

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,hue="gear")
sns.set(style='dark',)
plt.show()

输出:产量 wǔ

Line Plot With set() function

結論是……

因此,在本文中,我们已经理解了线图以及与之相关的变化。

我强烈建议读者们通读Python Matplotlib教程,以更好地理解折线图的使用方法。


参考文献

  • Seaborn Line Plot – Official Documentation
发表回复 0

Your email address will not be published. Required fields are marked *