35

我在尝试更改图形大小时遇到​​了一些麻烦plt.subplots。使用下面的代码,我只得到标准尺寸的图表,其中包含我所有的子图(大约有 100 个),并且显然只是一个额外的空 figuresize 。我试过使用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()

任何帮助都会很棒!

在此处输入图像描述

4

1 回答 1

55

您可以删除您的初始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()
于 2013-11-12T15:08:14.610 回答