Matplotlib.pyplot: Öffnen Sie eine neue Figur Umwelt

In pyplot, wenn ich plt.plot(x) scheint es intern führen Sie die folgende Logik:

1) Wenn ein Bild bereits geöffnet ist, verwenden Sie diese Abbildung, ansonsten erstellen Sie eine neue ein.

2) Wenn eine der Achsen in dieser Abbildung ist bereits geöffnet, verwenden, die Achsen, da sonst eine neue erstellen.

3) Anschlag auf die Achse.

Ich Frage mich, wie kann ich erzwingen, Schritt (1) zu öffnen, eine neue Figur der nächsten Zeit einige zeichnen-Befehl aufgerufen wird. So etwas wie

plt.plot(x1)
with new_figure_environment():  # Ensure that plot commands within this go to new figures
    some_function()
plt.show()

Wenn some_function enthält:

def some_function():
    plt.plot(x1)

Dann möchte ich zu öffnen, eine neue Figur, aber wenn es sich nicht enthalten, eine plot-Funktion dann weiß ich nicht.

  • Warum würden Sie geben with new_figure_environment(): in Ihrem code, wenn Sie nicht plot etwas auf die neue Figur? In umgekehrter, das bedeutet, dass, wenn Sie wollen, dass etwas aufgezeichnet, um eine neue Figur, die Sie geben plt.figure(); wenn Sie nicht zeichnen möchten etwas zu einer neuen Figur, die Sie nicht geben plt.figure().
  • Vielleicht plt.get_fignums wird Ihnen helfen. Es gibt eine Liste der bestehenden Figur zahlen. Es gibt eine Liste von der Länge null, wenn es keine vorhandenen Figuren.
  • Ich muss nicht unbedingt im Voraus wissen, was der code genannt wird in meiner Umgebung. In meinem Fall, in der with block, rufe ich eine Funktion anzeigen, die angegeben ist, an anderer Stelle und die möglicherweise oder möglicherweise nicht verwenden matplotlib.
  • In diesem Fall rufen Sie plt.figure() im inneren des display Funktion.
  • Ich kann nicht die Kontrolle über die display-Funktion.
  • Ich umformuliert zu klären

InformationsquelleAutor Peter | 2017-07-31
Schreibe einen Kommentar