如何在pyplot中为任意大小的子图网格共享轴标签?

2024-06-07 08:05:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经看到一些答案,接近于解决我需要做的事情,但没有什么比这更像。在

我有一个函数,它根据传递给它的数组的大小生成可变数量的子批次。问题是,当我试图使用subflots()编写函数时,似乎无法添加共享轴标签。另外,对于大量的绘图,共享的x轴往往是不可读的,我不知道如何处理。在

def tilePlot(indivArray):
    names = list()
    num_rows = len(indivArray)
    num_cols = len(indivArray[0])
    for r in range(num_rows):
            for c in range(num_cols):
                    names.append(str(r)+str(c))

    f, names = plt.subplots(num_rows, num_cols, sharex='col', sharey='row')

    for r in range(num_rows):
        for c in range(num_cols):

            names[r][c].plot(indivArray[r][c].allValues)
            names[r][c].set_title(indivArray[r][c].name)


    f.subplots_adjust(hspace=.25)

    plt.setp([a.get_xticklabels() for a in f.axes[:]], visible=False)

    plt.show()

我试图重写函数以使用add_subflot,但是我不确定是否有一种可行的方法可以使子批共享轴。在

^{pr2}$

很抱歉,我的代码不够优雅,我是Matplotlib的新人。谢谢您!在


Tags: 函数答案inforlennamesrangeplt

热门问题