seaborn 画图,seaborn教程

  seaborn 画图,seaborn教程

  第1条方框图1。基本盒绘图和输入格式2。自定义外观自定义箱线图外观3。箱形图4的颜色设置。分组Boxplo T5。设置盒图的顺序控制盒图6的顺序。添加散点分布在boxplot7上添加抖动。在箱线图8上显示观察次数。箱线图下的隐藏数据箱线图的数据处理

  1箱线图

  (代码下载)

  箱线图可能是最常见的图形类型之一。它能很好地代表数据中的分布规律。上四分位数和下四分位数显示在方框图的末尾。极点显示最高值和最低值,不包括异常值。用born中的boxplot函数制作箱线图。本章的主要内容是:

  基本盒绘图基本盒绘图和输入格式自定义外观颜色自定义盒绘图外观盒绘图控制盒绘图颜色分组盒绘图盒绘图顺序设置控制盒绘图顺序添加分散分布添加盒绘图上的抖动显示盒绘图上的观察值盒绘图盒绘图下的隐藏数据盒绘图#调用seaborn导入seaborn作为sns#调用seaborn自己的数据集df=sns.load_dataset(iris)#显示数据集df.head() sepal _ length sepal _ width petal _ length petal _ width species 05 . 13 . 51 . 40 . 2 set OSA 14 . 93 . 01 . 40 . 2 set OSA 24 . 73 . 21 . 30 . 2 set OSA 34 . 63 . 11 . 50 . 2 set OSA 45 . 03 . 61 . 40 . 2 set OSA 1基本盒图绘制基本盒图和输入格式一个数值变量只有一个数值变量和多组一个数值变量和多组多个数值变量水平盒图水平#仅制作一组的箱线图#显示花萼长度sepal _ length SNS . box plot(y=df[ sepal _ length ]);

  #一个数值变量和多个组一个数值变量,和严重组#假设我们要研究数值变量的分布,但是对每个组分别做。在这里,我们研究了三种花的萼片长度。# x花品种,y花萼长度SNS.boxplot (x=df [种],y=df [萼片_长度]);

  #多个数值变量#可以研究几个数值变量的分布#,比如萼片的长度和宽度:SNS.boxplot (data=df.iloc [:0:2]);

  #使用seaborn的水平方框图水平方框图#使用seaborn水平翻转您的方框图非常简单。可以切换x和y属性,或者使用orient= h SNS . box plot(y=df[ species ],x=df [sepal _ length])选项。

  2.自定义外观自定义boxplot外观自定义线宽添加凹口添加控件的凹口大小控件框大小#自定义线宽#更改线宽#根据线宽,更改线宽SNS.boxplot (x=df [species],y=df [sepal _ length],line width=5);

  # add notch Add notch# notch设置为true to SNS . box plot(x=df[ species ],y=df [sepal _ length],notch=true);

  #控制盒大小controlbox size # changewitysns . box plot(x=df[ species ],y=df [sepal _ length],width=0.3);

  3.使用控制颜色的方框图的颜色设置方框图调色板使用调色板单一颜色使用统一颜色每个组的特定颜色单一突出显示一个组添加透明颜色A使用dd透明度到颜色#调色板使用调色板# Python建议了几个调色板。你可以像Set1,Set2,Set3,Paired,BuPu这样调用RColorBrewer调色板,还有Blues或bugn _ r这样的调色板#各种颜色的调色板见http://www.r-graph-gallery.com/38-rcolorbrewers-palettes/# T。通过plaette调用调色板,使用调色板ns.boxplot (x=df [species],y=df [sepal _ length],palette= blues );

  # 单种颜色的使用统一颜色#当然您可以轻松地为每个盒子应用同样的颜色。最常见的是乙:蓝色#颜色列表马特普罗特里布街https://号。org/examples/color/name _ colors。html SNS。箱形图(x=df[物种],y=df[萼片_长度],颜色=天蓝色);

  # 每组的特定颜色每组的特定颜色#用不用颜色描绘不同种类的花my_pal={versicolor: g , setosa: b , virginica : m } SNS箱形图(x=df[物种],y=df[萼片_长度],调色板=my _ pal);

  # 单组高亮突出显示一个组#设定某一组为红色,其他组为蓝色my _ pal={ species: r if species== versicolor else b for species in df。物种。unique()} SNS。箱形图(x=df[物种],y=df[萼片_长度],调色板=my _ pal);

  # 添加透明色为颜色#普通方框图添加透明度正常绘图ax=sns.boxplot(x=species ,y=sepal_length ,data=df);#为颜色添加透明度设置透明色对于ax .艺术家中的补丁,g,b,a=补丁。get _ face color()补丁。set _ face color((r,g,b,3))

  4.分组箱图分组箱线图#当您有一个数值变量,几个组和子组时,将使用分组箱图。使用海生的很容易实现10 .Y是您的数字变量,x是组列,而色彩是子组列。# 调用技巧数据集df _ tips=SNS。load _ dataset(“tips”)df _ tips。head()total _ billtipsexsmokerdaytimesize 016。991 .01 femalenosundiner 2110。341 .66 malenosundiner 3221号。013 .50 malenosundiner 3323号。683 .31 malenosundiner 2424。593 .61 femalenosundiner 4 #分组箱线图分组箱图# x日期,y餐费,色调自组列,调色板调色盘sns.boxplot(x=day ,y=total_bill ,hue=smoker ,data=df_tips,palette= Set1 );

  5.箱图的顺序设置箱线图#的控制顺序如果您按特定顺序设定组,则箱图通常会提供更多信息。这对海生的来说是可行的。具体订单通过命令自定义组p1=sns.boxplot(x=species ,y=sepal_length ,data=df,order=[virginica , versicolor , setosa ]);

  # 中位数由大到小排列#找到订单设定中位数my_order=df.groupby(by=[物种])[萼片_长度]。中位数()。iloc[:-1].索引号把它给boxplotsns.boxplot(x=species ,y=sepal_length ,data=df,order=my _ order);

  6.添加散点分布在箱线图#上添加抖动可以在箱线图上添加每种类别的散点分布情况#常规箱线图正常绘图ax=sns.boxplot(x=物种,y=萼片长度,数据=df)#使用群组绘图功能添加抖动添加散点分布ax=sns.swarmplot(x=物种,y=萼片长度,data=df,color=灰色)

  7.显示各类的样本数在箱线图#上显示观察次数显示每个组的观察次数可能很有用# 基础的箱形图ax=sns.boxplot(x=物种,y=萼片长度,数据=df) #计算每组中值到位置标签的无线电定向标选择器数#计算各个种类的中位数medians=df.groupby([物种])[萼片_长度]。中位数()。价值观#统计各个种类的样本数nobs=df[物种]。value_counts().值nobs=[str(x)for x in nobs。tolist()]nobs=[ n:我为我在nobs]#将其添加到plot pos=range(len(nobs))for tick,label in zip(pos,ax。get _ xticklabels()):ax。text(pos[tick],medians[tick] 0.03,nobs[tick],horizontalalignment=center ,size=x-small ,color=w ,weight=semibold )

  8.箱形图隐藏的数据处理箱线图下的隐藏数据添加分布散点图带抖动的箱线图使用小提琴图使用紫罗兰箱形图总结了几个组的数值变量的分布。但是箱形图的问题不仅是丢失信息,这可能会结果有偏差。如果我们考虑下面的箱形图,很容易得出结论, C 组的价值高于其他组。但是,我们无法看到每个组中点的基本分布是什么,也没有观察每个组的观察次数。所以我们需要对隐藏的数据进行处理

  #库和数据导入熊猫作为PD导入numpy作为NP导入matplotlib。py绘图为PLT # Dataset:a=PD data frame({ group :NP。重复( A ,500), value: np.random.normal(10,5,500) })b=pd .数据帧({ group :NP。repeat( B ,500), value: np.random.normal(13,1.2,500) })c=pd .数据帧({ group :NP。repeat( B ,500), value: np.random.normal(18,1.2,500) })d=pd .数据帧({ group :NP。重复( C ,20), value: np.random.normal(25,4,20) })e=pd .数据帧({ group :NP。重复( D ,100), value: np.random.uniform(12,size=100) })df=a.append(b).追加(c)10 .追加(d)10 .追加(e) #通常的boxplotsns.boxplot(x=group ,y=value ,data=df);

  # 添加分布散点图jitterax=SNS时的箱线图。箱形图(x=组,y=值,数据=df)#通过脱衣舞场添加分布散点图,抖动设置数据间距ax=sns.stripplot(x=group ,y=value ,data=df,color=orange ,jitter=0.2,size=2.5)plt.title(带抖动的矩形图,loc=left )文本(0.0,1.0,带抖动的矩形图)

  # 使用小提琴图使用小提琴独奏。violinplot(x= group ,y=value ,data=df)plt.title(violinplot ,loc=left )文本(0.0,1.0,“小提琴情节”)

seaborn 画图,seaborn教程