zoukankan      html  css  js  c++  java
  • 多变量分析绘图(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参数赋值的列分为两侧,如下运行结果

  • 相关阅读:
    ajax _02【XML响应,post请求】
    ajax_01【httpRequest.responseText】
    方法的定义【js函数】
    Promise基本用法
    promise
    筛选(1)
    ng-cli 中HTTP请求思路(1) (接口请求处理)
    PHP占用CPU过高几种思路
    关于tcpdump的那点事~
    虚拟机固定IP那点事
  • 原文地址:https://www.cnblogs.com/loubin/p/11270339.html
Copyright © 2011-2022 走看看