用法:
pandas.plotting.boxplot(data, column=None, by=None, ax=None, fontsize=None, rot=0, grid=True, figsize=None, layout=None, return_type=None, **kwargs)
從 DataFrame 列製作箱形圖。
從 DataFrame 列製作box-and-whisker 圖,可選擇按其他一些列分組。箱線圖是一種通過四分位數以圖形方式描繪數值數據組的方法。該框從數據的 Q1 到 Q3 四分位值延伸,在中位數 (Q2) 處有一條線。胡須從框的邊延伸以顯示數據的範圍。默認情況下,它們從框的邊延伸不超過
1.5 * IQR (IQR = Q3 - Q1)
,在該間隔內最遠的數據點處結束。異常值被繪製為單獨的點。有關詳細信息,請參閱 Wikipedia 的 boxplot 條目。
- column:str 或 str 列表,可選
列名或名稱列表,或向量。可以是
pandas.DataFrame.groupby()
的任何有效輸入。- by:str 或array-like,可選
DataFrame 中的列到
pandas.DataFrame.groupby()
。每個by
中的列值將完成一個 box-plot 。- ax:matplotlib.axes.Axes 類的對象,可選
boxplot 要使用的 matplotlib 軸。
- fontsize:浮點數或 str
刻度標簽字體大小(以磅為單位或作為字符串)(例如,
large
)。- rot:整數或浮點數,默認為 0
標簽相對於屏幕坐標係的旋轉角度(以度為單位)。
- grid:布爾值,默認為真
將此設置為 True 將顯示網格。
- figsize:以英寸為單位的元組(寬度,高度)
在 matplotlib 中創建的圖形的大小。
- layout:元組(行、列),可選
例如,(3, 5) 將使用 3 列和 5 行顯示子圖,從左上角開始。
- return_type:{‘axes’, ‘dict’, ‘both’} 或無,默認 ‘axes’
要返回的對象類型。默認值為
axes
。‘axes’ 返回繪製箱線圖的 matplotlib 軸。
‘dict’ 返回一個字典,其值是箱線圖的 matplotlib 線。
‘both’ 返回一個帶坐標軸和字典的命名元組。
當與
by
分組時,將返回一個將列映射到return_type
的係列。如果
return_type
是None
,則返回與layout
形狀相同的 NumPy 軸數組。
- **kwargs:
要傳遞給
matplotlib.pyplot.boxplot()
的所有其他繪圖關鍵字參數。
- 結果
請參閱注釋。
參數:
返回:
注意:
返回類型取決於
return_type
參數:‘axes’:matplotlib.axes.Axes 類的對象
‘dict’:matplotlib.lines.Line2D 對象的字典
‘both’:具有結構(ax,lines)的命名元組
對於與
by
分組的數據,返回上述係列或 numpy 數組:array
(對於return_type = None
)
如果要在繪圖後調整線條的外觀,請使用
return_type='dict'
。在這種情況下,將返回一個包含組成盒子、大寫字母、傳單、中位數和胡須的 Lines 的字典。例子:
可以通過
df.boxplot()
或指示要使用的列為 DataFrame 中的每一列創建箱線圖:>>> 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')
可以將字符串列表(即
['X', 'Y']
)傳遞給箱線圖,以便通過 x 軸中的變量組合對數據進行分組:>>> 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'])
可以調整箱線圖的布局,為
layout
提供一個元組:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... layout=(2, 1))
可以對箱線圖進行其他格式化,例如抑製網格(
grid=False
)、在 x 軸上旋轉標簽(即rot=45
)或更改字體大小(即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) <class 'matplotlib.axes._subplots.AxesSubplot'>
當使用
by
分組時,將返回一個將列映射到return_type
的係列:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type='axes') >>> type(boxplot) <class 'pandas.core.series.Series'>
如果
return_type
是None
,則返回與layout
形狀相同的 NumPy 軸數組:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type=None) >>> type(boxplot) <class 'numpy.ndarray'>
相關用法
- Python pandas.plotting.bootstrap_plot用法及代碼示例
- Python pandas.plotting.autocorrelation_plot用法及代碼示例
- Python pandas.plotting.scatter_matrix用法及代碼示例
- Python pandas.plotting.radviz用法及代碼示例
- Python pandas.plotting.parallel_coordinates用法及代碼示例
- Python pandas.plotting.andrews_curves用法及代碼示例
- Python pandas.plotting.lag_plot用法及代碼示例
- Python pandas.pivot用法及代碼示例
- Python pandas.period_range用法及代碼示例
- Python pandas.period_range()用法及代碼示例
- Python pandas.pivot_table用法及代碼示例
- Python pandas.arrays.IntervalArray.is_empty用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.read_pickle用法及代碼示例
- Python pandas.Index.value_counts用法及代碼示例
- Python pandas.DatetimeTZDtype用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.plotting.boxplot。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。