sns.boxplot()
-
箱形图(Box-plot):
-
又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。它能显示出一组数据的最大值、最小值、中位数及上下四分位数
#参数如下:
seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, notch=False, ax=None, **kwargs)
x,y:dataframe中的列名(str)或者矢量数据
data:dataframe或者数组
hue(str):dataframe的列名,按照列名中的值分类形成分类的条形图
palette:调色板,控制图像的色调
order, hue_order (lists of strings):用于控制条形图的顺序
orient:“v”|“h” 用于控制图像使水平还是竖直显示(这通常是从输入变量的dtype推断出来的,此参数一般当不传入x、y,只传入data的时候使用)
fliersize:float,用于指示离群值观察的标记大小
whis: 确定离群值的上下界(IQR超过低和高四分位数的比例),此范围之外的点将被识别为异常值。IQR指的是上下四分位的差值。
width: float,控制箱型图的宽度
使用iris数据集作为例子
x参数(箱型图横着放,默认也是横着放)
%matplotlib inline
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
import warnings
warnings.filterwarnings('ignore')
plt.rc("font",family="SimHei",size="15") #解决中文乱码问题
data=pd.DataFrame(load_iris().data,columns=load_iris().feature_names)
data['sample']=load_iris().target
data.columns
Index(['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)',
'petal width (cm)', 'sample'],
dtype='object')
#x参数,下面结果都一致
# sns.boxplot(x=data['sepal length (cm)'])
sns.boxplot(x=data['sepal length (cm)'],data=data)
# sns.boxplot(x='sepal length (cm)',data=data)
# sns.boxplot(data['sepal length (cm)'])
<AxesSubplot:xlabel='sepal length (cm)'>
y参数(竖着放)
#y参数,下面结果都一致
# sns.boxplot(y=data['sepal length (cm)'])
sns.boxplot(y=data['sepal length (cm)'],data=data)
# sns.boxplot(y='sepal length (cm)',data=data)
# sns.boxplot(y='sample',data=data)
<AxesSubplot:ylabel='sepal length (cm)'>
直接是data
sns.boxplot(data=data)
<AxesSubplot:>