2016-02-14 2 views
13

Nach der Zugabe vonMatplotlib Fehler: „Darin enthalten sind Achsen, die mit nicht kompatibel sind tight_layout“

bbox_inches="tight" 

auf einen Aufruf von plt.savefig, die für mehrere Jahre gearbeitet hat, erhalte ich

/usr/local/lib/python2.7/site-packages/matplotlib/figure.py:1744: UserWarning:

This figure includes Axes that are not compatible with tight_layout, so its results might be incorrect

Die Zahl in Frage scheint zu funktionieren (ohne truncation of annotations jetzt), aber ich frage mich, was dieser Fehler bedeuten könnte und ob es etwas offensichtliches oder bekanntes gibt (ohne tief in komplexen Zahlencode zu graben), dass ich tun kann, um es anzugehen.

Gibt es eine bekannte oder häufige Ursache dafür, die ich in meinem Code suchen sollte?

+0

könnten Sie den Code hinzufügen, den Sie verwenden, um das Diagramm zu erstellen? Ich habe mich nur umgesehen, es scheint Probleme beim Hinzufügen einer zusätzlichen Achse oder einer versteckten Achse zu geben, die mit Farbbalken verknüpft sind. – Wokpak

+1

Sie können sich [Position colorbar in figure] ansehen (http://stackoverflow.com/questions/18211967/position) -colorbar-inside-figure) Thread, bei dem es sich um ein ähnliches Problem handelt, bei dem Farbbalken zusammen mit Unterplots gezeichnet werden. Diese Warnung tritt auf, wenn Sie Achsen in Ihren Plots haben, die keine Unterplots sind. ZB: Farbbalkenachse. Die Colorbar-Achse überlappt sich beim Rendern als Ergebnis mit einem der Subplots. –

Antwort

3

Nach meiner Erfahrung funktioniert plt.tight_layout nicht immer, aber plt.savefig ('fig.png', bbox_inches = 'tight') tut es. Und Sie brauchen das erstere nicht, nachdem Sie das letztere benutzt haben, und ich bin nach ziemlich ausführlichen Tests zu dem Schluss gekommen.

+0

auch @raxacoricofallapatorius Wenn Sie mit dieser Antwort zufrieden sind, klicken Sie auf Antwort annehmen, damit die Leute wissen, welche für Sie gearbeitet hat. Sie brauchen Tight_layout wirklich nicht, wenn Sie einfach bbox_inches = 'tight' in savefig verwenden. – jimh

Verwandte Themen