使用plt.subplots时的图形大小

时间:2013-11-12 15:00:58

标签: python layout matplotlib subplot

使用plt.subplots时,我在尝试更改数字时遇到了一些麻烦。使用下面的代码,我只得到标准尺寸图,其中所有的子图集合在一起(大约有100个),显然只是一个额外的空图形。我尝试过使用tight_layout,但无济于事。

def plot(reader):
    channels=[]
    for i in reader:
        channels.append(i)

    plt.figure(figsize=(50,100))
    fig, ax = plt.subplots(len(channels), sharex=True)

    plot=0    
    for j in reader: 

        ax[plot].plot(reader["%s" % j])
        plot=plot+1

    plt.tight_layout()
    plt.show()

任何帮助都会很棒!

enter image description here

1 个答案:

答案 0 :(得分:24)

您可以删除初始plt.figure()。当调用plt.subplots()时,会创建一个新数字,因此您第一次调用时不会执行任何操作。

后台的subplots命令会为您调用plt.figure(),并且会传递任何关键字。因此,只需将figsize关键字添加到subplots()命令:

def plot(reader):
    channels=[]
    for i in reader:
        channels.append(i)

    fig, ax = plt.subplots(len(channels), sharex=True, figsize=(50,100))

    plot=0    
    for j in reader: 

        ax[plot].plot(reader["%s" % j])
        plot=plot+1

    plt.tight_layout()
    plt.show()