绘制多个条形图

时间:2020-02-13 03:27:55

标签: python seaborn

你好,我正在尝试绘制多个条形图,但是有些东西起作用了并且得到了错误的图,这是代码:

plt.rcParams['figure.figsize']=(15,16)
fig, axes = plt.subplots(nrows = 3, ncols = 3)

for i in range(len(data.columns)- 1):
    for j in range(3):
        for k in range(3):
            sns.barplot(y = data.iloc[: , i], x = data.quality, ax = axes[j][k])

enter image description here

1 个答案:

答案 0 :(得分:1)

问题是外循环是通过列的,而内循环是通过轴的,当您走到绘制线时,循环发生在j&k处而没有外循环,因此您在不同的轴上绘制同一列。 / p>

类似这样的东西应该可以工作:

首先创建轴列表,然后同时遍历列和轴列表

l = [(j,k) for j in range(3) for k in range(3)]

for i,q in zip(range(len(data.columns)- 1),l):
    sns.barplot(y = data.iloc[: , i], x = data.quality, ax = axes[q[0]][q[1]])