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

时间:2018-11-14 23:20:00

标签: python numpy matplotlib seaborn

我有一个名为data的5D数组

for i in range(10):
     sns.distplot(data[i,0,0,0], hist=False)

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

尝试过:

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()

这显然行不通。

2 个答案:

答案 0 :(得分:2)

您可能希望使用seaborn ax函数的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()

答案 1 :(得分:0)

指定每个distplot应该位于哪个子图上

f = plt.figure()
for i in range(10):
    f.add_subplot(4, 3, i+1)
    sns.distplot(data[i,0,0,0], hist=False)
plt.show()