Heim >Backend-Entwicklung >Python-Tutorial >Wie kann die numerische Genauigkeit in Matplotlib-Achsen-Tick-Beschriftungen erhalten bleiben?

Wie kann die numerische Genauigkeit in Matplotlib-Achsen-Tick-Beschriftungen erhalten bleiben?

Linda Hamilton
Linda HamiltonOriginal
2024-10-21 20:43:30435Durchsuche

How to Preserve Numerical Accuracy in Matplotlib Axis Tick Labels?

Matplotlib-Achsen-Teilstrichbeschriftungen für numerische Genauigkeit anpassen

Bei der Verwendung der Matplotlib-Bibliothek in Python zum Plotten einfacher x-y-Datensätze kommt es häufig vor, dass Achsenwerte auftreten Wechsel vom Standard-Zahlenformat zur wissenschaftlichen Notation mit Exponentialform beim Vergrößern bestimmter Diagrammabschnitte. Dies kann unerwünscht sein, da dadurch die ursprünglichen Werte verdeckt werden.

Um dieses Verhalten zu verhindern und die ursprüngliche numerische Formatierung beizubehalten, ist es notwendig, die Formatierung der Achsenteilstrichbeschriftung anzupassen. Standardmäßig verwendet Matplotlib einen ScalerFormatter für Tick-Beschriftungen. Dieser Formatierer nutzt möglicherweise eine konstante Verschiebung, was zu einer wissenschaftlichen Notation führt, wenn es um sehr kleine gebrochene Änderungen in sichtbaren Werten geht.

Um diese konstante Verschiebung zu deaktivieren und standardmäßige numerische Formatierung zu erzwingen, kann der folgende Code verwendet werden:

<code class="python">import matplotlib.pyplot as plt

plt.plot(np.arange(0, 100, 10) + 1000, np.arange(0, 100, 10))
ax = plt.gca()
ax.get_xaxis().get_major_formatter().set_useOffset(False)
plt.draw()</code>

Für Fälle, in denen eine wissenschaftliche Notation völlig unerwünscht ist, kann der folgende Code verwendet werden:

<code class="python">ax.get_xaxis().get_major_formatter().set_scientific(False)</code>

Alternativ kann eine globale Kontrolle über dieses Verhalten über den axis.formatter.useoffset rcparam erreicht werden. Durch Ändern dieses Parameters ist es möglich, entweder standardmäßige numerische Formatierung oder wissenschaftliche Notation einheitlich über alle Achsenstrichbeschriftungen hinweg zu erzwingen.

Diese Anpassung stellt sicher, dass die numerische Genauigkeit auch beim Vergrößern von Diagrammen erhalten bleibt, was den Benutzern eine intuitivere Bedienung ermöglicht und präzise Darstellung ihrer Daten.

Das obige ist der detaillierte Inhalt vonWie kann die numerische Genauigkeit in Matplotlib-Achsen-Tick-Beschriftungen erhalten bleiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn