seaborn.barplot柱状图详说

您所在的位置:网站首页 柱状图上面的小竖线 seaborn.barplot柱状图详说

seaborn.barplot柱状图详说

2024-07-04 03:27| 来源: 网络整理| 查看: 265

1、seaborn.barplot参数: seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=mean , ci=95, n_boot=1000, units=None, seed=None, orient=None, color=None, palette=None, saturation=0.75, errcolor='.26', errwidth=None, capsize=None, dodge=True, ax=None, **kwargs)

将点估计和置信区间显示为矩形图。

参数:

x,y:str ,dataframe中的列名hue:dataframe的列名,按照列名的值分类形成分类的条形图;data:dataframe或数组order,hue_order(list of strings):用于控制条形图的顺序;estimator:默认mean 可以修改为 median 中位数ci:置信区间的大小,如果为sd,跳过引导程序并绘制观测值的标准偏差;orient:绘图方向,v,hpalette:调色板【"Set3",""】saturation:饱和度capsize:设置误差棒帽条(上下两根横线)的宽度;n_boot:计算代表置信区间的误差线时,默认采用bootstrap抽样方法,控制bootstrap抽样次数;errcolor:设置误差线颜色,默认黑色;errwidth:设置误差线的显示线宽;dodge:当使用分类参数hue时,dodge=True,不同bar显示,False 同bar不同颜色;ax:选择图形将显示在哪个axes对象上,默认当前Axes对象;

(1)绘制一组按类别变量分组的垂直条形图

import seaborn as sns sns.set(style="whitegrid") tips = sns.load_dataset("tips") ax = sns.barplot(x="day",y="total_bill",data=tips) sns.barplot(x="day",y="total_bill",hue ="sex",data=tips)

(2) 分类子图

sns.set(style="white",context="talk") fig,(ax1,ax2) = plt.subplots(2,1,figsize=(10,6),sharex=True) x = np.array(list("ABCDEFGHIJ")) y1 = np.arange(1, 11) sns.barplot(x=x, y=y1, palette="deep", ax=ax1) # palette :rocket husl deep vlag ax1.axhline(0, color="k", clip_on=False) ax1.set_ylabel("Sequential") y2 = y1 - 5.5 sns.barplot(x=x, y=y2, palette="vlag", ax=ax2) ax2.axhline(0, color="k", clip_on=False) ax2.set_ylabel("Diverging") sns.despine(bottom=True) plt.setp(fig.axes, yticks=[]) plt.tight_layout(h_pad=2)

(3)分类柱状图,显示具体y轴数值,y轴刻度

tips = sns.load_dataset("tips") group_values = tips.groupby("day").sum().reset_index() plt.rcParams["font.sans-serif"]=["Microsoft YaHei"] sns.set(style="white",context="talk") fig,ax1 = plt.subplots(1,1,figsize=(8,5),sharex=True) g = sns.barplot(x="day", y="tip",data=group_values, palette="husl", ax=ax1,ci =0) # palette :rocket husl deep vlag # 显示具体值 for index,row in group_values.iterrows(): g.text(row.name,row.tip+2,round(row.tip,1),color="black",ha="center") sns.despine(bottom=False,left=False) # 设置是否显示边界线 ax1.set_yticks([0,50,100,150,200,250,300]) 2、误差线:

误差线 源于统计学,表示数据误差或不确定性范围,以更准确方式呈现数据。 当label上有一组采样数据时,一般用平均值作为该label标注的值,用误差线表示该均值可能的误差范围。 误差线可以用:标准差 (standard Deviation,SD)、标准误差(standard Error,SE)、置信区间表示; 标准差: s      样本标准差估计总体标准差,其中u是样本均值,误差线范围(u-s,u+s) 标准误差:     当多次进行重复采样时,得到很多组数据, 置信区间理解:     置信区间 置信度为P指在重复采集n次时,得到的样本均值有np次可能落在置信区间内,不能进行如下解读: 总体均值有P的可能性在置信区间内, 可能性是贝叶斯学派的观点。

3、seaborn.countplot seaborn.countplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, dodge=True, ax=None, **kwargs) 用条形图显示每个分类箱中的观测值。计数条形图 参数: x,y,hue:dataframe中列名,x和y不能同时,hue分类 data:绘图数据集 order,hue_order:控制条形图顺序 orient:绘图方向, color:颜色 palette:调色板【"Set3","Set1","husl","deep","rocket",""】 saturation:饱和度 dodge:当使用分类参数hue时,dodge=True,不同bar显示,False 同bar不同颜色; ax:使用轴对象绘图,默认使用当前轴; sns.set(style="white") plt.rcParams["font.sans-serif"]=["Microsoft YaHei"] sns.set(style="white",context="talk") fig,ax1 = plt.subplots(1,1,figsize=(8,5),sharex=True) group_values = tips.groupby("day").count().reset_index() g = sns.countplot(x="day",data=data,palette="husl",ax=ax1) for index,row in group_values.iterrows(): g.text(row.name,row.tip+2,row.tip,color="black",ha="center") g.set_yticks([0,20,40,60,80,100]) # sns.despine(bottom=False,left=False) # 设置是否显示边界线

4、seaborn.catplot seaborn.catplot(x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, estimator=, ci=95, n_boot=1000, units=None, seed=None, order=None, hue_order=None, row_order=None, col_order=None, kind='strip', height=5, aspect=1, orient=None, color=None, palette=None, legend=True, legend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws=None, **kwargs) 参数: x,y,hue: col,row:分类变量决定网格的分面 col_wrap:每列子图数量 data:绘图数据集 kind:绘制类型,【"point","bar","strip","swarm","box","violin","boxen"】,默认"strip" height:每个刻面的高度,英寸为单位 aspect:每个面的纵横比,aspect*height每个面的宽度,英寸 orient:绘图方向,v,h legend:如果为True,且hue变量,绘制图例 lenged_out:True,图形尺寸扩展,图例绘制在中间右侧的图形之外 sharex,sharey:True,共享x或y轴

 

import seaborn as sns plt.rcParams["font.sans-serif"]=["Microsoft YaHei"] sns.set(style="white",context="talk") exercise = sns.load_dataset("exercise") sns.catplot(x="time", y="pulse", hue="kind", data=exercise,col="diet") exercise.head()

sns.set(style="whitegrid",font="Microsoft YaHei",font_scale=1.2) g = sns.catplot(x="time",y="pulse",hue="kind",data=exercise,col="diet",kind="point",catsize=1) sns.despine(left=True)

sns.set(style="white",font="Microsoft YaHei",font_scale=1.2) g = sns.catplot(x="time",y="pulse",data=exercise,col="diet",kind="bar",ci=0) (g.set_axis_labels("","Pulse") .set_xticklabels(["1min","2min","3min"]) .set_titles("{col_name} {col_var}") # 每个子图名称 col + "col name" .set_xlabels("time") .set(ylim=(0,120)) .despine(left=True))



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3