Python-Fehlerleiste
In diesem Tutorial wird das Zeichnen von Daten mit Fehlerbalken mit der Funktion errorbar()
von Matplotlib
in Python besprochen.
Python-Fehlerleiste
Einige Werte sind nicht hundertprozentig genau und enthalten einige Fehler, wie die Werte von Widerständen. Die Widerstandswerte haben eine Toleranz oder einen Fehler wie 10%. Das heißt, der Wert ist nicht exakt, kann sich aber im Bereich von 10 % ändern.
Fehlerbalken in Python werden verwendet, um Fehler zusammen mit Datenpunkten in einem Diagramm darzustellen, um den in einem Wert vorhandenen Fehler anzuzeigen. Um Daten mit Fehlerbalken in Python zu plotten, können wir die Funktion errorbar()
der Matplotlib
verwenden.
Lassen Sie uns beispielsweise einige Zufallsdaten darstellen und jedem Wert Fehlerbalken hinzufügen. Siehe Code unten.
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4]
y_values = [1, 2, 3, 4]
y_error = [0.9, 0.5, 0.75, 0.25]
plt.errorbar(x_values, y_values, yerr=y_error)
plt.show()
Ausgabe:
In diesem Beispiel haben wir nur Fehler auf der y-Achse hinzugefügt, aber wir können auch Fehler auf der x-Achse hinzufügen. Die Balken in der obigen Ausgabe sind vertikal, aber im Falle eines x-Achsenfehlers sind die Balken horizontal.
Die Länge jedes Balkens hängt vom Wert des damit angegebenen Fehlers ab. Die Größe der Fehlervektoren sollte dieselbe sein wie die der Datenvektoren.
Die Funktion errorbar()
hat ein Argument fmt
, das die Eigenschaften der im Diagramm verwendeten Linie wie Linienstil, Farbe und Markierungssymbol festlegen kann.
Der Standardlinienstil ist durchgezogen, aber wir können ihn in die gestrichelte Linie --
, die strichpunktierte Linie -.
oder die gepunktete Linie :
ändern. Die Standardfarbe ist Blau, aber wir können sie in jede Farbe wie Grün oder Rot ändern, indem wir den Anfangsbuchstaben der Farbe verwenden, z. B. r
für Rot.
Wir können auch ein Markierungssymbol wie o
für den Kreis, d für die Raute und *
für die Sternmarkierung hinzufügen. Wir können das Argument ms
verwenden, um die Größe des Markers zu ändern.
Lassen Sie uns zum Beispiel einen X-Achsen-Fehler im obigen Diagramm hinzufügen und den Linienstil, die Farbe und die Markierung ändern. Siehe Code unten.
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4]
y_values = [1, 2, 3, 4]
y_error = [0.9, 0.5, 0.75, 0.25]
x_error = [0.5, 0.5, 0.5, 0.5]
plt.errorbar(x_values, y_values, yerr=y_error, xerr=x_error, fmt="--ro", ms=10)
plt.show()
Ausgabe:
Wir können auch andere Markierungseigenschaften ändern, wie die Farbe der Markierungskante mit dem Parameter markeredgecolor
oder mec
, die Farbe der Markierungsfläche mit markerfacecolor
oder mfc
die Breite der Markierungskante mit dem Argument markeredgewidth
oder mew
.
Wir können auch die Eigenschaften der Fehlerbalken wie Farbe, Linienbreite, Kappengröße und Kappendicke der Fehlerbalken ändern. Standardmäßig ist die Farbe der Fehlerbalken dieselbe wie die Farbe des Linienstils, aber wir können sie in jede Farbe ändern, indem wir den Farbnamen oder den ersten Buchstaben des Farbnamens und den Parameter ecolor
verwenden.
Standardmäßig entspricht die Breite der Fehlerbalken der Breite des Linienstils, aber wir können sie mit dem Parameter elinewidth
auf eine beliebige Breite ändern. Standardmäßig sind Umhanggröße und -dicke null, aber wir können sie mit den Parametern capsize
und capthick
in einen beliebigen Fließkommawert ändern.
Ändern wir zum Beispiel die oben erwähnten Eigenschaften der Fehlerbalken. Siehe Code unten.
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4]
y_values = [1, 2, 3, 4]
y_error = [0.9, 0.5, 0.75, 0.25]
x_error = [0.5, 0.5, 0.5, 0.5]
plt.errorbar(
x_values,
y_values,
yerr=y_error,
xerr=x_error,
fmt="--ro",
ms=10,
ecolor="g",
elinewidth=3,
capsize=10,
capthick=3,
)
plt.show()
Ausgabe:
Mit dem Argument errorevery
können wir an bestimmten Stellen auch Fehlerbalken ausblenden. Standardmäßig ist der Wert dieses Arguments 1, aber wir können ihn in einen ganzzahligen Wert ändern. Wenn wir beispielsweise den Wert des Arguments errorevery
auf 2 setzen, erscheinen die Fehlerbalken auf der Hälfte der Punkte.