Wie vermeide ich die Exponentialschreibweise in Matplotlib-Plots?

Patricia Arquette
Freigeben: 2024-10-21 20:42:31
Original
168 Leute haben es durchsucht

How to Avoid Exponential Notation in Matplotlib Plots?

Vermeiden der exponentiellen Notation in Matplotlib-Plots

Beim Generieren von Plots mit Matplotlib kommt es häufig zu Situationen, in denen numerische Werte auf den Achsen vom Standard abweichen Zahlenform in Exponentialschreibweise (z. B. von „1050“ bis „1,057e3“). Dies kann insbesondere beim Vergrößern bestimmter Abschnitte des Diagramms unerwünscht sein.

Um dieses Verhalten zu verhindern, bietet Matplotlib Optionen zum Anpassen der Formatierung von Teilstrichbeschriftungen. Die Handhabung der Exponentialschreibweise wird durch ein Formatter-Objekt gesteuert, das normalerweise eine Instanz von ScalerFormatter ist.

Konstante Verschiebung deaktivieren

Standardmäßig verwendet ScalerFormatter eine konstante Verschiebung, wenn Die prozentuale Änderung der angezeigten Werte ist minimal. Um diesen Effekt zu vermeiden und die Anzeige der Standard-Zahlenform zu erzwingen, setzen Sie das useOffset-Flag des Hauptformatierers auf False:

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

# Generate sample data
x = range(0, 100, 10) + 1000
y = range(0, 100, 10)

# Create a plot
plt.plot(x, y)
ax = plt.gca()  # Get the current axis

# Disable the constant shift
ax.get_xaxis().get_major_formatter().set_useOffset(False)

# Redraw the plot
plt.draw()</code>
Nach dem Login kopieren

Wissenschaftliche Notation deaktivieren

Wenn Sie Wenn Sie die wissenschaftliche Notation lieber ganz vermeiden möchten, können Sie die set_scientific-Methode des Hauptformatierers verwenden:

<code class="python"># Disable scientific notation
ax.get_xaxis().get_major_formatter().set_scientific(False)</code>
Nach dem Login kopieren

Globale Konfiguration

Alternativ können Sie die Verwendung von Exponentialschrift steuern Notation global durch Ändern des Parameters axis.formatter.useoffset in den Konfigurationseinstellungen von Matplotlib:

<code class="python">plt.rcParams['axes.formatter.useoffset'] = False</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie vermeide ich die Exponentialschreibweise in Matplotlib-Plots?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!