Установить размер подзаговора в matplotlib

Интересно, как установить размер подзаголовка, когда рисунок содержит несколько подзаголовков (в моем случае 5 × 2). Независимо от того, насколько большой я позволяю быть целой фигурой, подсюжеты всегда кажутся маленькими. Я хотел бы иметь прямой контроль над размером участка на этом рисунке. Упрощенная версия кода вставлена ​​ниже.

import numpy as np
import matplotlib.pyplot as plt

x = np.random.randn(20)
y = np.random.randn(20)

fig = plt.figure(figsize=(20, 8))

for i in range(0,10):
    ax = fig.add_subplot(5, 2, i+1)
    plt.plot(x, y, 'o')
    ax.xaxis.set_visible(False)
    ax.yaxis.set_visible(False)
    # x and y axis should be equal length
    x0,x1 = ax.get_xlim()
    y0,y1 = ax.get_ylim()
    ax.set_aspect(abs(x1-x0)/abs(y1-y0))

plt.show()
fig.savefig('plot.pdf', bbox_inches='tight')

person Andrej    schedule 08.01.2017    source источник
comment
Попробуйте установить размер квадратной фигуры, т.е. figsize=(20,20). У вас соотношение сторон задается почти квадратными подзаголовками, а рисунок - нет.   -  person Serenity    schedule 08.01.2017


Ответы (1)


Просто переключите размер фигуры, ширину и высоту:

fig = plt.figure(figsize=(20, 8))

to:

fig = plt.figure(figsize=(8, 20))

использовать всю страницу для своих сюжетов.

Это изменит ваш сюжет с:

введите описание изображения здесь

to:

введите описание изображения здесь

person Mike Müller    schedule 08.01.2017