在matplotlib矩阵中的箱形图

时间:2015-09-25 13:46:59

标签: python python-3.x numpy matplotlib

需要在两列(每行12个)中获取24个箱图并将其打印到postscript文件中。

此代码抛出错误

def do(self, ...):
    axarray = plt.subplots(12, 3, figsize=(11.69,8.27))
    for i in range(2):
        for month in range(12):
            monthBoxplot = [    [ 2, 2, 2 ], 
                                [ 2, 2, 2 ] ]
            axarray[i, m].boxplot(monthBoxplot)
    ax.imshow(axarray, aspect='normal')
    plt.savefig("/asdasd"+str(year)+".ps")

错误

axarray[i,m].boxplot(boxplotMensual)
     

TypeError:元组索引必须是整数,而不是元组

这意味着[i,m]是一个元组......对吗?我该怎么办? 感谢

1 个答案:

答案 0 :(得分:1)

的内容
f, axarray = plt.subplots(12, 3, figsize=figsize)
for i in range(2):
    for month in range(12):
        axarray[i, month].boxplot(data)

应该这样做。

有许多子图的示例here

编辑:实际上没有使用f,你可以在第一行用_替换f。但是,如果您未放置f,则axarray未分配正确的对象。为简化起见,您能看到a1, a2 = 3, 4a2 = 3, 4之间的区别吗?在第二种情况下,a2是一个元组,如果你在代码中执行a2[0, 0](即axarray[i, m],当axarray是一个元组时),就会出现错误,因为你不能用元组索引元组。

相关问题