美文网首页
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