Seaborn线图的数据可视化

时间:2020-02-23 14:41:51  来源:igfitidea点击:

在本文中,我们将继续进行Seaborn教程,并了解Seaborn Line Plot。
我们最近介绍了Seaborn HeatMaps,因此如果您有兴趣了解有关热图的更多信息,请随时查看。

什么是线图?

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, 2015, 2017, 2021, 2022, 2016]
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线图

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

1.使用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'之间的关系。

2.使用样式参数绘制不同类型的线

我们可以将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()

可以清楚地看到,该图表示与" mpg"和" drat"相关的" cyl"值,并具有不同的线结构,即普通线,虚线和标记。

3.使用大小参数在Seaborn中绘制多个线图

我们甚至可以使用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颜色图和调色板定义了可视化模型的颜色范围。
参数palettehue可以用于根据数据变量确定颜色编码方案。

有关更多调色板,您可以在此处引用链接:调色板

语法:

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

误差线添加到线图

线图可用于定义图中的置信度水平/区间,以通过使用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()函数设置不同的样式

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

语法:

seaborn.set(style)

例:

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