Für einen Artikel erzeuge ich Diagramme von verformten Finite-Elemente-Netzen, die ich mit der Polykollektion von matplotlib visualisiere. Die Bilder werden als PDF gespeichert.rasterizing matplotlib axis contents (aber nicht frame, labels)
Probleme entstehen für Netze mit hoher Dichte, für die der naive Ansatz zu Dateien führt, die zu groß und zu intensiv sind, um praktisch zu sein.
Für diese Netze macht es wirklich keinen Sinn, jedes Element als Polygon darzustellen; Es könnte leicht gerastert werden, wie es beim Speichern des Bildes als jpg oder png geschieht. Für den Druck möchte ich jedoch einen scharfen Rahmen, Beschriftungen und Anmerkungen beibehalten.
Weiß jemand, ob es möglich ist, diese Art der Hybrid-Rasterung in Matplotlib zu erreichen?
Ich kann mir Lösungen vorstellen, die imshow beinhalten und Polykollektion umgehen, aber ich würde viel lieber matplotlibs eingebaute Komponenten verwenden.
Vielen Dank für Ihren Rat.
Wow, so einfach . Ich mache mir jetzt Sorgen um meine Googling-Fähigkeiten. Aber vielen Dank für diese Antwort, genau das habe ich mir erhofft! – gertjan
Das ist großartig! Irgendeine Idee, wie man die dpi der Rasterung jedoch kontrolliert? Es scheint die dpi zu ignorieren, die ich an 'figure' und' savefig' übergebe ... – weronika
@weronika, wenn die dpi in 'figure' oder' savefig' nicht funktioniert, dann weiß ich nicht wirklich wie ich es ändern soll . 'Sammlungen' scheint den Künstler' allow_rasterization' Dekorateur zu verwenden, aber von einem schnellen Blick auf den Code konnte ich nicht sehen, wie man eine dpi einstellt. – tiago