Размер рисунка при использовании plt.subplots

У меня возникают проблемы с попыткой изменить размер фигуры при использовании 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

Вы можете удалить начальный 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()