Seaborn - 绘制分类数据


在前面的章节中,我们学习了散点图、hexbin 图和 kde 图,它们用于分析所研究的连续变量。当所研究的变量是分类变量时,这些图不合适。

当所研究的一个或两个变量都是分类变量时,我们使用 striplot()、swarmplot() 等绘图。Seaborn 提供了执行此操作的接口。

分类散点图

在本节中,我们将学习分类散点图。

带状图()

当研究的变量之一是分类变量时,使用 stripplot()。它表示沿任一轴排序的数据。

例子

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df)
plt.show()

输出

盒子

在上图中,我们可以清楚地看到每个物种的petal_length的差异。但是,上述散点图的主要问题是散点图上的点重叠。我们使用“Jitter”参数来处理这种情况。

抖动会给数据添加一些随机噪声。此参数将调整沿分类轴的位置。

例子

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df, jitter = Ture)
plt.show()

输出

点

现在,可以很容易地看到点的分布。

群图()

另一个可以替代“Jitter”的选项是函数swarmplot()。该函数将散点图的每个点定位在分类轴上,从而避免重叠点 -

例子

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()

输出

色调