Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1415:beispiel_zu_graphiken_mit_matplotlib

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1415:beispiel_zu_graphiken_mit_matplotlib [2015/01/29 12:51]
stefanborn [Das Beispiel]
ws1415:beispiel_zu_graphiken_mit_matplotlib [2016/05/10 14:46] (aktuell)
Zeile 7: Zeile 7:
 Eine Graphik ist eine ''​Figure'',​ in ein solches Figure-Objekt kann man verschiedene ''​Axes''​-Objekte einfügen. Ein solches Axes-Objekt definiert ein Koordinatensystem,​ um einen gewissen Ort der Graphik anzusteuern. ​ In das Axes-Objekt kann man nun verschiedene ''​Artist''​-Objekte einfügen, etwas Dreiecke, Kreise, oder auch die Darstellng eines Arrays als Bild.   Ein Dreieck-Objekt ist nicht etwas ein kleines Bildchen, sondern ein Objekt, das Methoden hat, die es in einem gegebenen Koordinatensystem zeichnen, löschen, verändern. Eine Graphik ist eine ''​Figure'',​ in ein solches Figure-Objekt kann man verschiedene ''​Axes''​-Objekte einfügen. Ein solches Axes-Objekt definiert ein Koordinatensystem,​ um einen gewissen Ort der Graphik anzusteuern. ​ In das Axes-Objekt kann man nun verschiedene ''​Artist''​-Objekte einfügen, etwas Dreiecke, Kreise, oder auch die Darstellng eines Arrays als Bild.   Ein Dreieck-Objekt ist nicht etwas ein kleines Bildchen, sondern ein Objekt, das Methoden hat, die es in einem gegebenen Koordinatensystem zeichnen, löschen, verändern.
  
-Diese Artist-Objekte werden durch gewisse Daten und durch gewisse Parameter bestimmt. Der Unterschied zwischen Daten und Parametern ist zwar willkürlich,​ aber wichtig. Für die Daten (im Falle der Bildanzeige wäre das das Array) gibt es eine Methode, die die Daten zu veränderen erlaubt (sie heißt leider nicht immer ''​set_data''​. Man muss in der ''​matplotlib''​-Dokumentation nachsehen, um diese Methoden zu finden. Für Polygone etwa (also zum Beispiel Dreiecke) lassen sich die Koordinaten der Eckpunkte mit ''​set_xy''​ setzen.+Diese Artist-Objekte werden durch gewisse Daten und durch gewisse Parameter bestimmt. Der Unterschied zwischen Daten und Parametern ist zwar willkürlich,​ aber wichtig. Für die Daten (im Falle der Bildanzeige wäre das das Array) gibt es eine Methode, die die Daten zu veränderen erlaubt (sie heißt leider nicht immer ''​set_data''​. Man muss in der ''​matplotlib''​-Dokumentation nachsehen, um diese Methoden zu finden. Für Polygone etwa (also zum Beispiel Dreiecke) lassen sich die Koordinaten der Eckpunkte mit ''​set_xy''​ setzen.  Zu den Parametern gehört normalerweise die Farbe ''​color'',​ die Transparenz ''​alpha'',​ etc.  Diese Parameter können entweder mit speziellen Methoden (''​set_color'',​...) oder aber mit der generischen Methode ''​matplotlib.artist.setp(...)''​ gesetzt werden.
  
 Im folgenden Beispiel wird ein Koordinatensystem [0,​2N]x[0,​2N] für das erste Axes-Objekt ax geschaffen. Später wird ein zweites Koordinatensystem ''​ax1''​ rechts oben in dem ersten platziert. Im folgenden Beispiel wird ein Koordinatensystem [0,​2N]x[0,​2N] für das erste Axes-Objekt ax geschaffen. Später wird ein zweites Koordinatensystem ''​ax1''​ rechts oben in dem ersten platziert.
  
 Durch ''​ax.imshow(...)''​ wird dem Koordinatensystem ''​ax''​ ein ''​Artist''​ hinzugefügt. Anderer ''​Artists''​ werden mit entsprechenden Klassen von matplotlib erzeugt und durch ''​ax.add_artist(...)''​ dem Koordinatensystem hinzugefügt.  ​ Durch ''​ax.imshow(...)''​ wird dem Koordinatensystem ''​ax''​ ein ''​Artist''​ hinzugefügt. Anderer ''​Artists''​ werden mit entsprechenden Klassen von matplotlib erzeugt und durch ''​ax.add_artist(...)''​ dem Koordinatensystem hinzugefügt.  ​
 +
  
 ==== Das Beispiel ==== ==== Das Beispiel ====
Zeile 17: Zeile 18:
 <code python> <code python>
 import matplotlib import matplotlib
 +## Hier wird das so genannte '​backend'​ eingestellt. matplotlib kann die 
 +## eigentliche Erzeugung der Graphik von verschiedenen Systemen durchführen
 +## lassen. ​ Das beeinflusst die Geschwindigkeit,​ aber auch, wie die Fenster
 +## aussehen.
 matplotlib.use('​GTKAgg'​) matplotlib.use('​GTKAgg'​)
 import matplotlib.pyplot as plt import matplotlib.pyplot as plt
ws1415/beispiel_zu_graphiken_mit_matplotlib.1422532294.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)