本文介绍了seaborn箱线图的子图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个这样的数据框

import seaborn as sns
import pandas as pd
%pylab inline

df = pd.DataFrame({'a' :['one','one','two','two','one','two','one','one','one','two'],
                   'b': [1,2,1,2,1,2,1,2,1,1],
                   'c': [1,2,3,4,6,1,2,3,4,6]})

单个箱线图是可以的:

sns.boxplot(y="b", x="a", data=df, orient='v')

但我想为所有变量构建一个子图.我试过了:

But I want to build a subplot for all variables. I tried:

names = ['b', 'c']
plt.subplots(1,2)
sub = []

for name in names:
    ax = sns.boxplot(  y=name, x= "a", data=df,  orient='v' )
    sub.append(ax)

但它输出:

推荐答案

我们用子图创建图形:

f, axes = plt.subplots(1, 2)

其中轴是包含每个子图的数组.

Where axes is an array with each subplot.

然后我们用参数 ax 告诉每个图我们想要它们在哪个子图中.

Then we tell each plot in which subplot we want them with the argument ax.

sns.boxplot(  y="b", x= "a", data=df,  orient='v' , ax=axes[0])
sns.boxplot(  y="c", x= "a", data=df,  orient='v' , ax=axes[1])

结果是:

这篇关于seaborn箱线图的子图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-26 10:53