Seite 1 von 1

Matplotlib und Tausenderpunkte

Verfasst: Freitag 24. November 2023, 12:53
von FranziskaB
Moin zusammen,
ich habe folgendes -vermutlich- banales Problem: gerne hätte ich in meinen Bildchen Tausenderpunkte z.B. auf der x-Achse.
Hier ein kurzer Beispielcode:

Code: Alles auswählen

from matplotlib import pyplot as plt
x=[1000, 2000, 3000, 4000]
y=[1, 2, 3, 2]
plt.plot(x,y)
plt.show()
Als Python-Anfänger übersteigt das (bislang) meine Kenntnisse... Könnt Ihr mir helfen?

Lieben Dank, Franziska

Re: Matplotlib und Tausenderpunkte

Verfasst: Freitag 24. November 2023, 15:51
von einfachTobi
Ich vermute, dass es etwas tricky ist: Meiner Erinnerung nach muss man einen eigenen Formatter verwenden. Diese Funktion kann dann z. B. locale verwenden, um die Zahlen komfortabel zu gruppieren.

Code: Alles auswählen

import locale
from matplotlib import pyplot as plt
from matplotlib import ticker

locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8')

def format_xtick(x, pos):
    return locale.format_string("%.f", x, grouping=True)

def format_ytick(y, pos):
    return locale.format_string("%.1f", y, grouping=True)


fig, ax = plt.subplots()
ax.xaxis.set_major_formatter(ticker.FuncFormatter(format_xtick))
ax.yaxis.set_major_formatter(ticker.FuncFormatter(format_ytick))

x=[1000, 2000, 3000, 4000]
y=[1, 2, 3, 2]
plt.plot(x,y)
plt.show()

Re: Matplotlib und Tausenderpunkte

Verfasst: Dienstag 28. November 2023, 11:26
von FranziskaB
Super, vielen lieben Dank. Das hat perfekt funktioniert.