当我只传递没有x,y,数据参数的整个数据框时,箱形图显示了什么结果?

时间:2019-01-16 12:22:20

标签: python seaborn boxplot

我正在使用python库学习可视化。我正在玩内置的“提示”数据集。我注意到,即使我没有给出x =,y =,data =之类的任何参数,seaborn也会绘制数据。这是我尝试过的:

import pandas as pd
import seaborn as sns
tips_data = sns.load_dataset("tips")
tips_data.head()
sns.boxplot(tips_data.iloc[:,[0,1]])
sns.boxplot(data=tips_data.iloc[:,[0,1]])

如果运行这些命令,您会注意到第一个boxplot命令绘制的是一个单一的箱形图,这与列,均值或总和的箱形图都不相同。

第二个箱形图命令正确,在相同的轴上绘制两个箱形图-一个用于提示,另一个用于total_bill。

当没有指定参数arg时,有人可以告诉正在绘制的图形吗?

我尝试签出原始文档here!但没有找到答案。

1 个答案:

答案 0 :(得分:1)

案例1

myService.subscribe()等同于

sns.boxplot(tips_data.iloc[:,[0,1]])

即第一个参数为sns.boxplot(x=tips_data.iloc[:,[0,1]]) 。这被解释为输入中的所有数据都将沿x轴分布。可以理解的是,这可能是两列中的扁平2D阵列,

x

案例2

如果改为使用sns.boxplot(x=tips_data.iloc[:,[0,1]].values.flatten()) ,则不会给出sns.boxplot(data=tips_data.iloc[:,[0,1]])x。因此,需要对它们进行解释,这是按列进行的。然后,您将获得每列一个箱形图。


文档指出:

  

输入数据可以多种格式传递,包括:

     
      
  • 直接表示为x,y和/或hue参数的表示为列表,numpy数组或pandas Series对象的数据向量。 [案例1]
  •   
  • “长格式” DataFrame,在这种情况下,x,y和hue变量将决定如何绘制数据。
  •   
  • 一个“宽格式” DataFrame,这样将绘制每个数字列。   向量的数组或列表。 [案例2]
  •   

我在文档中从问题中标记了两种情况。