Matplotlib - Achsenklasse
Das Achsenobjekt ist der Bereich des Bildes mit dem Datenraum. Eine bestimmte Figur kann viele Achsen enthalten, aber ein bestimmtes Achsenobjekt kann sich nur in einer Figur befinden. Die Achsen enthalten zwei (oder drei im Fall von 3D) Achsenobjekte. Die Axes-Klasse und ihre Elementfunktionen sind der primäre Einstiegspunkt für die Arbeit mit der OO-Schnittstelle.
Das Axes-Objekt wird der Figur durch Aufrufen der Methode add_axes () hinzugefügt. Es gibt das Achsenobjekt zurück und fügt eine Achse an der Position rect [links, unten, Breite, Höhe] hinzu, an der alle Größen in Bruchteilen von Figurenbreite und -höhe angegeben sind.
Parameter
Es folgt der Parameter für die Axes-Klasse -
rect - Eine 4-Längen-Sequenz von [links, unten, Breite, Höhe] Mengen.
ax=fig.add_axes([0,0,1,1])
Die folgenden Elementfunktionen der Achsenklasse fügen dem Diagramm verschiedene Elemente hinzu:
Legende
Das legend()Die Methode der Achsenklasse fügt der Plotfigur eine Legende hinzu. Es werden drei Parameter benötigt -
ax.legend(handles, labels, loc)
Wobei Beschriftungen eine Folge von Zeichenfolgen sind und eine Folge von Line2D- oder Patch-Instanzen verarbeiten. loc kann eine Zeichenfolge oder eine Ganzzahl sein, die den Legendenort angibt.
Standortzeichenfolge | Standortcode |
---|---|
Beste | 0 |
oben rechts | 1 |
Oben links | 2 |
Unten links | 3 |
rechts unten | 4 |
Recht | 5 |
Mitte links | 6 |
Mitte rechts | 7 |
untere Mitte | 8 |
obere Mitte | 9 |
Center | 10 |
axes.plot ()
Dies ist die grundlegende Methode der Achsenklasse, bei der die Werte eines Arrays gegenüber einem anderen als Linien oder Markierungen dargestellt werden. Die plot () -Methode kann ein optionales Formatzeichenfolgenargument haben, um Farbe, Stil und Größe der Linie und des Markers anzugeben.
Farbcodes
Charakter | Farbe |
---|---|
'b' | Blau |
'G' | Grün |
'r' | rot |
'b' | Blau |
'c' | Cyan |
bin ' | Magenta |
'y' | Gelb |
'k' | Schwarz |
'b' | Blau |
'w' | Weiß |
Markierungscodes
Charakter | Beschreibung |
---|---|
'.' | Punktmarkierung |
'Ö' | Kreismarkierung |
'x' | X-Marker |
'D' | Diamantmarker |
'H' | Sechseckmarker |
's' | Quadratische Markierung |
'+' | Plus Marker |
Linienstile
Charakter | Beschreibung |
---|---|
'-' | Durchgezogene Linie |
'-' | Gestrichelte Linie |
'-.' | Strichpunktlinie |
':' | Gepunktete Linie |
'H' | Sechseckmarker |
Das folgende Beispiel zeigt die Werbekosten und Verkaufszahlen von TV und Smartphone in Form von Liniendiagrammen. Die Linie, die das Fernsehen darstellt, ist eine durchgezogene Linie mit gelben und quadratischen Markierungen, während die Smartphone-Linie eine gestrichelte Linie mit grüner Farbe und Kreismarkierungen ist.
import matplotlib.pyplot as plt
y = [1, 4, 9, 16, 25,36,49, 64]
x1 = [1, 16, 30, 42,55, 68, 77,88]
x2 = [1,6,12,18,28, 40, 52, 65]
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
l1 = ax.plot(x1,y,'ys-') # solid line with yellow colour and square marker
l2 = ax.plot(x2,y,'go--') # dash line with green colour and circle marker
ax.legend(labels = ('tv', 'Smartphone'), loc = 'lower right') # legend placed at lower right
ax.set_title("Advertisement effect on sales")
ax.set_xlabel('medium')
ax.set_ylabel('sales')
plt.show()
Wenn die obige Codezeile ausgeführt wird, wird das folgende Diagramm erstellt: