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参数赋值的列分为两侧,如下运行结果

  • 相关阅读:
    Android 编程下 Eclipse 恢复被删除的文件
    Android 编程下背景图片适配工具类
    Android 编程下 Managing Your App's Memory
    Android 编程下代码之(QQ消息列表滑动删除)
    Android 编程下 Canvas and Drawables
    Android 编程下 AlarmManager
    Android 编程下去除 ListView 上下边界蓝色或黄色阴影
    Java 编程下字符串的 16 位、32位 MD5 加密
    C#枚举类型和int类型相互转换
    MVC和普通三层架构的区别
  • 原文地址:https://www.cnblogs.com/loubin/p/11270339.html
Copyright © 2011-2022 走看看