matplotlib: Y-Wert einfach als Prozent [%] formatieren
English
Deutsch
Beim Plotten unseres Zeitreihen-Beispieldatensatzes ergibt sich folgender Plot
Dieser Beitrag zeigt, wie dieser Datensatz mit einer als Prozent formatierten Y-Achse einfach geplottet wird. Wir nehmen an, dass 1.00 auf 100% abgebildet wird. Dieser Beitrag basiert auf unserer vorherigen Arbeit zu Matplotlib benutzerdefinierter SI-Präfix-Einheiten-Tick-Formatter:
Hinweis: Für pandas muss zuerst df.plot() aufgerufen werden und set_major_formatter() danach aufgerufen werden!
matplotlib_percent.py
import matplotlib.ticker as mtick
df.plot()
plt.gca().yaxis.set_major_formatter(mtick.PercentFormatter(xmax=1.0))Wenn stattdessen 100.0 auf 100% abgebildet werden soll, einfach xmax=100.0 verwenden:
matplotlib_percent_example.py
import matplotlib.ticker as mtick
df.plot()
plt.gca().yaxis.set_major_formatter(mtick.PercentFormatter(xmax=1.0))Vollständiges Beispiel
matplotlib_full_example.py
import matplotlib.ticker as mtick
# Load pre-built time series example dataset
# Vordefinierten Zeitreihen-Beispieldatensatz laden
df = pd.read_csv("https://datasets.techoverflow.net/timeseries-example.csv", parse_dates=["Timestamp"])
df.set_index("Timestamp", inplace=True)
# Plot with Y axis scaled as percent
# Mit als Prozent skalierter Y-Achse plotten
df.plot()
plt.gca().yaxis.set_major_formatter(mtick.PercentFormatter(xmax=1.0))If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow