DataFrame.boxplot(column = None,by = None,ax = None,fontsize = None,rot = 0,grid = True,figsize = None,layout = None,return_type = None,** kwds )
从DataFrame列创建一个箱形图。
从DataFrame列创建一个box-and-whisker图,可选择按其他列分组。箱形图是用于通过其四分位数图形描绘数值数据组的方法。该框从数据的Q1到Q3四分位数值延伸,中间的线为(Q2)。晶须从盒子的边缘延伸,以显示数据的范围。晶须的位置默认设置为从盒子边缘开始的1.5 * IQR(IQR = Q3 - Q1)。离群点是那些胡须结束时的点。
有关详细信息,请参阅Wikipedia的boxplot条目。
参数:column : str或str的列表,可选
列名或名称列表或向量。
by: str或array-like,可选
一箱线图将每列的值来完成的。
ax : 类matplotlib.axes.Axes的对象,可选
由boxplot使用的matplotlib轴。
fontsize : float或str
以标记或字符串(例如,大)标记标签字体大小。
rot : int或float,默认为0
标签的旋转角度(以度为单位)相对于屏幕坐标系。
grid : 布尔值,默认为True
将此设置为True将显示网格。
figsize: 以英寸为单位的元组(宽度,高度)
在matplotlib中创建的图形的大小。
layout : 元组(行,列),可选
例如,(3,5)将从左上角开始使用3列和5行显示子图。
return_type : {'axes','dict','both'}或None,默认'axes'
要返回的那种对象。默认是axes。
'axes'返回绘制boxplot的matplotlib轴。
'dict'返回一个字典,其值是boxplot的matplotlib行。
'both'返回一个带有轴和dict的namedtuple。
分组时by,return_type返回一系列映射列 。
如果return_type为None,
layout则返回具有相同形状的NumPy轴阵列。
** kwds
返回:result:
返回类型取决于return_type参数:
'axes':类matplotlib.axes.Axes的对象
'dict':matplotlib.lines.Line2D对象的字典
'both':一个带结构的命名元组(ax,lines)
对于分组的数据by:
array(用于)return_type = None
notes
使用return_type='dict'时,你要密谋后,调整线路的外观。在这种情况下,返回包含构成盒子,帽子,传单,中位数和胡须的线的字典。
例子
可以通过df.boxplot()或指示要使用的列为数据框中的每个列创建箱图:>>>np.random.seed(1234)
>>> df = pd.DataFrame(np.random.randn(10,4),
... columns=['Col1', 'Col2', 'Col3', 'Col4'])
>>> boxplot = df.boxplot(column=['Col1', 'Col2', 'Col3'])
可以使用该选项创建按第三个变量的值分组的变量分布的箱线图by,例如:
>>>df = pd.DataFrame(np.random.randn(10, 2),
... columns=['Col1', 'Col2'])
>>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A',
... 'B', 'B', 'B', 'B', 'B'])
>>> boxplot = df.boxplot(by='X')
字符串列表(即)可以传递给boxplot,以便通过x轴中的变量组合对数据进行分组:['X', 'Y']
>>>df = pd.DataFrame(np.random.randn(10,3),
... columns=['Col1', 'Col2', 'Col3'])
>>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A',
... 'B', 'B', 'B', 'B', 'B'])
>>> df['Y'] = pd.Series(['A', 'B', 'A', 'B', 'A',
... 'B', 'A', 'B', 'A', 'B'])
>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by=['X', 'Y'])
boxplot的布局可以调整,给出一个元组layout:
>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X',
... layout=(2, 1))
可以对boxplot进行其他格式化,例如抑制grid(grid=False),在x轴上旋转标签(即rot=45)或更改fontsize(即fontsize=15):
>>> boxplot = df.boxplot(grid=False, rot=45, fontsize=15)
该参数return_type可用于选择boxplot返回的元素类型。return_type='axes'选择何时,将返回绘制箱线图的matplotlib轴:>>> boxplot = df.boxplot(column=['Col1','Col2'], return_type='axes')
>>> type(boxplot)
分组时by,return_type 返回一个Series映射列:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X',
... return_type='axes')
>>> type(boxplot)
如果return_type为None,layout则返回与返回的形状相同的NumPy轴数组:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X',
... return_type=None)
>>> type(boxplot)