„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erzwinge ich Achsenversatzwerte in ganzen Zahlen oder bestimmten Zahlen in Matplotlib?

Wie erzwinge ich Achsenversatzwerte in ganzen Zahlen oder bestimmten Zahlen in Matplotlib?

Veröffentlicht am 02.11.2024
Durchsuche:570

How to Force Axis Offset Values to Whole Numbers or Specific Numbers in Matplotlib?

Achsenversatzwerte in Matplotlib auf ganze Zahlen oder bestimmte Zahlen erzwingen

Mit Matplotlib können Sie Daten mit Achsen zeichnen, die Versätze anzeigen. Manchmal ist es jedoch wünschenswert, dass diese Offsets als ganze Zahlen oder bei einer bestimmten Zahl angezeigt werden.

Offset-Anzeigeproblem

Ein häufiges Problem ist, dass der Offset auf der y -axis könnte beispielsweise als „4,4 1e-8“ angezeigt werden, wenn der tatsächliche Wert „44 1e-9“ ist. Ebenso könnte auf der x-Achse ein Offset als „5.54478e4“ anstelle des gewünschten Offsets von „55447“ angezeigt werden.

Lösung

Um das zu erzwingen Um den Offset als ganze Zahl oder bestimmte Zahl anzuzeigen, verwenden Sie die Klasse ScalarFormatter aus dem Modul matplotlib.ticker. Hier ist der aktualisierte Code:

from matplotlib.ticker import ScalarFormatter

# y-axis
y_formatter = ScalarFormatter(useOffset=False)
ax.yaxis.set_major_formatter(y_formatter)

# x-axis
x_formatter = ScalarFormatter(useOffset=False)
ax.xaxis.set_major_formatter(x_formatter)

Durch die Einstellung useOffset=False deaktiviert der Formatierer die Verwendung eines Offsets in der Achsenbeschriftung. Dadurch wird die Achse gezwungen, den genauen Wert des Teilstrichs anzuzeigen.

Zusätzliche Hinweise

  • Die ScalarFormatter-Klasse kann weiter angepasst werden, um die Formatierung der zu steuern Teilstrichbeschriftungen, z. B. Festlegen der Anzahl der Dezimalstellen.
  • Der Offset ist kein separates Objekt, sondern Teil der Teilstrichbeschriftung. Bei useOffset=True wird der Offset an die Tick-Beschriftung angehängt. Wenn useOffset=False, ist der Offset nicht in der Tick-Beschriftung enthalten.
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729138877 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3