Was gibt es Neues in Matplotlib 1.0 (06. Jul 2010)#
HTML5/Canvas Backend#
Simon Ratcliffe und Ludwig Schwardt haben ein HTML5/Canvas Backend für Matplotlib veröffentlicht. Das Backend ist nahezu funktionsvollständig, und sie haben viel Arbeit geleistet, um ihre HTML5-gerenderten Bilder mit unserem Kern-Renderer Agg zu vergleichen. Das Backend bietet interaktive Client-Server-Navigation von Matplotlib-Grafiken in einem HTML5-konformen Browser.
Anspruchsvolle Subplot-Rasterlayout-Struktur#
Jae-Joon Lee hat gridspec geschrieben, ein neues Modul für komplexe Subplot-Layouts, das Zeilen- und Spaltenspannen und mehr bietet. Siehe Anordnung mehrerer Achsen in einer Grafik für eine Tutorial-Übersicht.
Einfache Pythonic Subplots#
Fernando Perez hatte genug von all dem Boilerplate-Code, der benötigt wurde, um eine Grafik und mehrere Subplots mit der Matplotlib-API zu erstellen, und schrieb eine Hilfsfunktion subplots(). Die grundlegende Verwendung ermöglicht es Ihnen, die Grafik und ein Array von Subplots mit NumPy-Indizierung (beginnend bei 0) zu erstellen. Z.B.
fig, axarr = plt.subplots(2, 2)
axarr[0,0].plot([1,2,3]) # upper, left
Siehe Mehrere Subplots für verschiedene Codebeispiele.
Kontur-Fixes und Triplot#
Ian Thomas hat einen seit langem bestehenden Fehler behoben, der unsere talentiertesten Entwickler jahrelang geplagt hat. contourf() behandelt nun interne maskierte Bereiche, und die Grenzen von Linien- und gefüllten Konturen fallen zusammen.
Zusätzlich hat er ein neues Modul tri und eine Hilfsfunktion triplot() zur Erstellung und Darstellung unstrukturierter Dreiecksnetze beigesteuert.
Mehrfache Aufrufe von show unterstützt#
Eine lang gehegte Anforderung ist die Unterstützung mehrerer Aufrufe von show(). Dies war schwierig, da es schwierig ist, ein konsistentes Verhalten über Betriebssysteme, Benutzeroberflächen-Toolkits und Versionen hinweg zu erzielen. Eric Firing hat viel Arbeit geleistet, um show über Backends zu rationalisieren, mit dem gewünschten Verhalten, dass show alle neu erstellten Grafiken anzeigt und die Ausführung blockiert, bis sie geschlossen werden. Wiederholte Aufrufe von show sollten neu erstellte Grafiken seit dem letzten Aufruf anzeigen. Eric hat viel an den Benutzeroberflächen-Toolkits und Versionen sowie Plattformen getestet, zu denen er Zugang hat, aber es ist nicht möglich, sie alle zu testen. Bitte melden Sie Probleme an die Mailingliste und den Bug-Tracker.
Mplot3d-Grafiken können in beliebige Achsen eingebettet werden#
Sie können nun eine mplot3d-Grafik an einer beliebigen Achsenposition platzieren, was die Mischung von 2D- und 3D-Grafiken in derselben Grafik und/oder mehrere 3D-Grafiken in einer einzigen Grafik unterstützt, indem Sie das Schlüsselwortargument "projection" zu add_axes oder add_subplot verwenden. Danke Ben Root.
tick_params#
Eric Firing schrieb tick_params, eine praktische Methode zur Änderung des Erscheinungsbilds von Ticks und Tick-Labels. Siehe die pyplot-Funktion tick_params() und die zugehörige Axes-Methode tick_params().
Viele Leistungs- und Funktionsverbesserungen#
Schnellere Vergrößerung großer Bilder und die Möglichkeit, bis zu einem einzelnen Pixel zu zoomen
Lokale Installationen der Dokumentation funktionieren besser
Verbesserte "Widgets" - Maus-Greifen wird unterstützt
Genaueres Einrasten von Linien an Pixelgrenzen
Konsistentere Handhabung von Farben, insbesondere des Alpha-Kanals, über die gesamte API hinweg
Stark verbesserte Software-Schreinerei#
Der Matplotlib-Trunk ist dank verbesserter Software-Schreinerei wahrscheinlich so gut wie nie. Wir haben nun einen Buildbot, der bei jedem svn-Commit eine Reihe von Nose-Regressionstests ausführt, automatisch eine Reihe von Bildern generiert und sie mit einer Reihe bekannter "Guter" vergleicht, wobei bei Fehlern E-Mails an die Entwickler mit einem pixelweisen Bildvergleich gesendet werden. Releases und Release-Bugfixes erfolgen in Branches, was eine aktive Neuentwicklung von Funktionen im Trunk ermöglicht und gleichzeitig die Release-Branches stabil hält. Danke an Andrew Straw, Michael Droettboom und andere Matplotlib-Entwickler für die Schwerstarbeit.
Bugfix-Marathon#
Eric Firing absolvierte einen Marathon an Bugfixes und -schließungen und schloss über 100 Bugs im (nun geschlossenen) SourceForge-Bug-Tracker mit Hilfe von Jae-Joon Lee, Michael Droettboom, Christoph Gohlke und Michiel de Hoon.