web-dev-qa-db-fra.com

Définir la taille de la sous-parcelle dans matplotlib

Je me demande comment définir la taille de la sous-intrigue lorsque la figure contient plusieurs sous-intrigues (5 × 2 dans mon cas). Peu importe la taille que j'accorde à la figure entière, les sous-intrigues semblent toujours petites. Je voudrais avoir un contrôle direct de la taille de la sous-intrigue sur cette figure. La version simplifiée du code est collée ci-dessous.

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')
11
Andrej

Il suffit de changer la largeur et la hauteur de la taille de la figure de:

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

à:

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

pour utiliser la page entière pour vos parcelles.

Cela changera votre intrigue de:

enter image description here

à:

enter image description here

14
Mike Müller