我如何才能使seaborn分布图成为一个循环图?

max*_*oku 2 python numpy matplotlib seaborn

我有一个叫5D的数组 data

for i in range(10):
     sns.distplot(data[i,0,0,0], hist=False)
Run Code Online (Sandbox Code Playgroud)

但是我想改为将它们放在子图内。我该怎么做?

试过这个:

plt.rc('figure', figsize=(4, 4))  
fig=plt.figure()
fig, ax = plt.subplots(ncols=4, nrows=3)

for i in range(10):
    ax[i].sns.distplot(data[i,0,0,0], hist=False)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这显然行不通。

Imp*_*est 5

您可能希望使用axseaborn distplot函数的参数为其提供现有的轴。通过在平整的轴阵列上循环可以简化循环。

fig, axes = plt.subplots(ncols=4, nrows=3)

for i, ax in zip(range(10), axes.flat):
    sns.distplot(data[i,0,0,0], hist=False, ax=ax)
plt.show()
Run Code Online (Sandbox Code Playgroud)