web-dev-qa-db-fra.com

Taille de la figure lors de l'utilisation de sous-parcelles plt.

J'ai du mal à essayer de modifier la taille de la figure lors de l'utilisation de plt.subplots. Avec le code suivant, je reçois simplement le graphique de taille standard avec toutes mes sous-parcelles regroupées (il y a ~ 100) et, évidemment, juste une taille de figure vide supplémentaire. J'ai essayé d'utiliser tight_layout, mais en vain.

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()

toute aide est la bienvenue!

enter image description here

18
Ashleigh Clayton

Vous pouvez supprimer votre plt.figure() initiale. Lorsque vous appelez plt.subplots() une nouvelle figure est créée, donc votre premier appel ne fait rien.

La commande subplots en arrière-plan appellera plt.figure() pour vous, et tous les mots clés seront transmis. Il suffit donc d'ajouter le mot clé figsize à la commande 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()
25
Rutger Kassies