多变量分析绘图(hue参数)以及盒图和小提琴图

1,函数stipplot()

  stipplot()函数用来画散点图,其x轴是离散型的变量

  直接上代码

  

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn内置数据集,DaraFram类型
8 sns.stripplot(x="day", y="total_bill", data=tips)
9 plt.show()

  stipplot函数中的参数jitter是默认为True的,即数据点会沿着x轴方向抖动,这样就避免数据点分布成与y轴平行的几条直线了。下面是运行结果

2.函数swarpplot()

函数swamrpplot()和stripplot()相似,但是它会把重合的点沿着x轴方向对称的展开,更好看。

代码如下

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn内置数据集,DaraFram类型
8 sns.swarmplot(x="day", y="total_bill", hue="sex", data=tips)
9 plt.show()

参数hue=“sex",即指定数据按照sex列赋予不同颜色以示区分。运行结果如下

3.盒图(函数boxplot())

1.盒图介绍

  盒图是在1977年由美国的统计学家约翰·图基(John Tukey)发明的。它由五个数值点组成:最小值(min),下四分位数(Q1)中位数(median),上四分位数(Q3),最大值(max)。也可以往盒图里面加入平均值(mean)。如图。下四分位数、中位数、上四分位数组成一个“带有隔间的盒子”。上四分位数到最大值之间建立一条延伸线,这个延伸线成为“胡须(whisker)”。

  盒图可以过滤离群点,具体规则如下

  1、IQR = Q3-Q1,即上四分位数与下四分位数之间的差,也就是盒子的长度。
  2、最小 观测值为min = Q1 - 1.5*IQR,如果存在 离群点小于最小观测值,则胡须下限为最小观测值,离群点单独以点汇出。如果没有比最小观测值小的数,则胡须下限为最小值。
  3、最大观测值为max = Q3 + 1.5*IQR,如果存在离群点大于最大观测值,则胡须上限为最大观测值,离群点单独以点汇出。如果没有比最大观测值大的数,则胡须上限为最大值。

2.用boxplot()函数画盒图

  下面是代码和运行截图惹

 

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn内置数据集,DaraFram类型
8 sns.boxplot(x="day", y="total_bill", hue="sex", data=tips)
9 plt.show()

4.小提琴图(函数violinplot)

1.小提琴图的概念惹

小提琴图 (Violin Plot) 用于显示数据分布及其概率密度。

        这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。中间的黑色粗条表示四分位数范围,从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。

        箱形图在数据显示方面受到限制,简单的设计往往隐藏了有关数据分布的重要细节。例如使用箱形图时,我们不能了解数据分布是双模还是多模。虽然小提琴图可以显示更多详情,但它们也可能包含较多干扰信息。

2.函数violinplot()

直接上代码

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn内置数据集,DaraFram类型
8 sns.violinplot(x="day", y="total_bill", hue="sex", split=True, data=tips)
9 plt.show()

  split参数设置为True能够将hue参数赋值的列分为两侧,如下运行结果

猜你喜欢

转载自www.cnblogs.com/loubin/p/11270339.html
今日推荐