Seaborn 观测值的分布
在我们之前处理的分类散点图中,这种方法在提供关于每个类别内值的分布信息方面变得有限。现在,进一步说,让我们看看什么可以帮助我们在类别中进行比较。
箱线图
箱线图 是一种方便的方式来通过四分位数来可视化数据的分布。
箱线图通常在箱子上延伸出垂直线,称为“须”。这些须表示上下四分位数之外的可变性,因此箱线图也被称为 箱须图 或 箱线图 。数据中的任何异常值都被绘制为个别点。
示例
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()
输出
图上的点表示异常值。
小提琴图
小提琴图是箱线图和核密度估计的结合。因此,这些图更容易分析和理解数据的分布。
让我们使用名为tips的数据集来更深入了解小提琴图。此数据集包含有关顾客在餐厅中给出的小费的信息。
示例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill", data=df)
plt.show()
输出
箱线图中的四分位数和须值显示在小提琴内部。由于小提琴图使用了核密度估计(KDE)方法,小提琴的宽度部分表示密度较高,狭窄的区域表示相对较低的密度。箱线图的四分位距和KDE中的较高密度部分位于每个小提琴图类别的相同区域。
上述图显示了一周中四天的总消费分布情况。但是,除此之外,如果我们想看一下与性别相关的分布情况,让我们在下面的示例中探索一下。
示例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill",hue = 'sex', data = df)
plt.show()
输出
现在我们可以清楚地看到男性和女性之间的消费行为。通过观察图表,我们可以很容易地说,男性的账单比女性多。
而且,如果色调变量只有两个类别,我们可以将每个小提琴分成两个部分,而不是在给定日期上有两个小提琴。小提琴的每个部分都表示色调变量中的每个类别。
示例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y="total_bill",hue = 'sex', data = df)
plt.show()