Seaborn:如何创建多列箱线图


您可以在 Seaborn 中使用以下基本语法来创建 pandas DataFrame 的多列箱线图:

 sns. boxplot (x=' variable ', y=' value ', data=df)

以下示例展示了如何在实践中使用此语法。

示例:使用 Seaborn 绘制多列箱线图

假设我们有以下 pandas DataFrame,显示三个不同篮球队球员的得分:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' A ': [5, 7, 7, 9, 12, 12],
                   ' B ': [8, 8, 9, 13, 15, 17],
                   ' C ': [1, 2, 2, 4, 5, 7]})

#view DataFrame
df

        A B C
0 5 8 1
1 7 8 2
2 7 9 2
3 9 13 4
4 12 15 5
5 12 17 7

假设我们要创建三个箱线图来显示每支球队的得分分布。

要在seaborn中创建多个箱线图,您必须首先将pandas DataFrame合并为长格式

 #melt data frame into long format
df_melted = pd. melt (df)

#view first 10 rows of melted data frame
df_melted. head ( 10 )

	variable value
0 to 5
1 to 7
2 to 7
3 to 9
4 to 12
5 to 12
6 B 8
7 B 8
8 B 9
9 B 13

我们现在可以使用seaborn创建多个箱线图:

 import matplotlib. pyplot as plt
import seaborn as sns

#create seaborn boxplots by group
sns. boxplot (x=' variable ', y=' value ', data=df_melted) 

Seaborn 多列箱线图

x 轴显示球队,y 轴显示得分分布。

请注意,我们还可以使用以下语法添加标题并更改轴标签

 import matplotlib. pyplot as plt
import seaborn as sns

#create seaborn boxplots by group
sns. boxplot (x=' variable ', y=' value ', data=df_melted). set (title=' Points by Team ')

#modify axis labels
plt. xlabel ('Team')
plt. ylabel ('Points') 

其他资源

以下教程解释了如何在seaborn中创建其他常见的可视化:

如何在 Seaborn 中创建饼图
如何在 Seaborn 中创建面积图
如何在 Seaborn 中创建时间序列图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注