Wie ändere ich die Figurengröße mit Nebenhandlungen?


287

Ich bin auf der Matplotlib-Website auf dieses Beispiel gestoßen. Ich habe mich gefragt, ob es möglich ist, die Figur zu vergrößern.

Ich habe es mit versucht

f.figsize(15,15)

aber es macht nichts.

Antworten:


525

Wenn Sie das Figurenobjekt bereits haben, verwenden Sie:

f.set_figheight(15)
f.set_figwidth(15)

Wenn Sie jedoch den Befehl .subplots () verwenden (wie in den gezeigten Beispielen), um eine neue Figur zu erstellen, können Sie auch Folgendes verwenden:

f, axs = plt.subplots(2,2,figsize=(15,15))

12
Es gibt auch fig.set_size_inchesHöhe und Breite zusammen einzustellen
Francesco Montesano

1
Dies funktioniert nicht, Sie können die Höhe beliebig einstellen, sie wird jedoch niemals größer als Ihr Monitor sein.

2
Dies hat nichts mit Ihrem Monitor zu tun. Was ist, wenn Sie auf einem PNG ausgeben? Wollen Sie damit sagen, dass es niemals größer als die Bildschirmauflösung sein kann? Es ist die Kombination der Größe in Zoll mit dem dpi, die die Größe in Pixel bestimmt.
Rutger Kassies

Das Einfügen von figsize in den Aufruf von subplots () scheint nicht zu funktionieren. Das Aufrufen von f.set_figheight funktioniert jedoch.
Vicki B

Ist es möglich, die Größe des Untergrundstücks selbst zu ändern, ohne die Größe der Figur zu ändern?
Alexis.Rolland

38

Alternativ können Sie figure()mit dem figsizeArgument ein Objekt erstellen und dann add_subplotIhre Unterzeichnungen hinzufügen. Z.B

import matplotlib.pyplot as plt
import numpy as np

f = plt.figure(figsize=(10,3))
ax = f.add_subplot(121)
ax2 = f.add_subplot(122)
x = np.linspace(0,4,1000)
ax.plot(x, np.sin(x))
ax2.plot(x, np.cos(x), 'r:')

Einfaches Beispiel

Vorteile dieser Methode sind, dass die Syntax näher an Aufrufen von subplot()statt von liegt subplots(). Beispielsweise scheinen Unterzeichnungen die Verwendung von a GridSpeczur Steuerung des Abstands der Unterzeichnungen nicht zu unterstützen , aber beides subplot()und add_subplot()tun dies.


10
Gibt es eine Möglichkeit, ax und ax2 getrennt 'size' hinzuzufügen?
M. Gopal

2
Wenn ich das richtig verstehe, möchten Sie die relative Größe der beiden Achsen einstellen? In diesem Fall denke ich, dass Sie nach dieser Frage suchen: stackoverflow.com/questions/10388462/…
aquirdturtle
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.