Heim >Backend-Entwicklung >Python-Tutorial >Wie vermeide ich die Exponentialschreibweise 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>
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>
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>
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!