美文网首页
barplot画条形图

barplot画条形图

作者: Chaweys | 来源:发表于2020-12-03 14:42 被阅读0次

    barplot
    条形图主要展现的是每个矩形高度的数值变量的中心趋势的估计
    条形图默认显示的是平均值
    默认使用均属作为集中趋势的估计,误差线越长,数据离散程度越大,数据越不稳定。
    
    #coding=utf-8
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    
    df=pd.read_csv("tips.csv")
    print(df.head()) #默认读取前5行
    '''
       total_bill   tip     sex smoker  day    time  size
    0       16.99  1.01  Female     No  Sun  Dinner     2
    1       10.34  1.66    Male     No  Sun  Dinner     3
    2       21.01  3.50    Male     No  Sun  Dinner     3
    3       23.68  3.31    Male     No  Sun  Dinner     2
    4       24.59  3.61  Female     No  Sun  Dinner     4
    '''
    
    #默认画条形图
    sns.barplot(x="day",y="total_bill",data=df)
    plt.show()
    
    #计算平均值看是否和条形图的高度一致
    print(df.groupby("day").agg({"total_bill":[np.mean]}))
    '''
         total_bill
               mean
    day            
    Fri   17.151579
    Sat   20.441379
    Sun   21.410000
    Thur  17.682742
    '''
    
    默认画条形图1.png

    #estimator 指定条形图高度使用相加的和
    sns.barplot(x="day",y="total_bill",data=df,estimator=np.sum)
    plt.show()
    #计算想加和看是否和条形图的高度一致
    print(df.groupby("day").agg({"total_bill":[np.sum]}))
    '''
         total_bill
                sum
    day            
    Fri      325.88
    Sat     1778.40
    Sun     1627.16
    Thur    1096.33
    '''
    
    默认画条形图-指定为相加和.png

    #hue  对已分组的数据进一步分组,注:hue对应的列名必须是可分类的
    #如下:hue="sex",sex该列是可以分类
    sns.barplot(x="day",y="total_bill",data=df,estimator=np.sum,hue="sex")
    plt.show()
    
    默认画条形图-指定hue再分类.png

    #order 指定条形图展示的顺序,参数值为列表['','','']
    sns.barplot(x="day",y="total_bill",data=df,
                estimator=np.sum,
                hue="sex",
                order=['Thur','Fri','Sat','Sun'])
    plt.show()
    
    默认画条形图-order指定条形图顺序.png

    #capsize  设置冒条的宽度
    sns.barplot(x="day",y="total_bill",data=df,
                estimator=np.sum,
                hue="sex",
                order=['Thur','Fri','Sat','Sun'],
                capsize=0.3)
    plt.show()
    
    默认画条形图-capsize指定冒条的宽度.png

    
    #palette  指定调色板
    #创建两个子画布,一行两列的形式,figsize指定子画布的大小
    figure,axes=plt.subplots(1,2,figsize=(10,8))
    
    sns.barplot(x="day",y="total_bill",data=df,
                estimator=np.sum,
                hue="sex",
                order=['Thur','Fri','Sat','Sun'],
                capsize=0.3,
                ax=axes[0])
    
    
    sns.barplot(x="day",y="total_bill",data=df,
                estimator=np.sum,
                hue="sex",
                order=['Thur','Fri','Sat','Sun'],
                capsize=0.3,
                palette="Set3",
                ax=axes[1])
    plt.show()
    
    默认画条形图-palette条形图的调色背景1.png
    默认画条形图-palette条形图的调色背景1-figsize指定子画布的大小.png

    相关文章

      网友评论

          本文标题:barplot画条形图

          本文链接:https://www.haomeiwen.com/subject/mpljwktx.html