Comment éviter la notation exponentielle dans les tracés Matplotlib ?

Patricia Arquette
Libérer: 2024-10-21 20:42:31
original
168 Les gens l'ont consulté

How to Avoid Exponential Notation in Matplotlib Plots?

Éviter la notation exponentielle dans les tracés Matplotlib

Lors de la génération de tracés à l'aide de Matplotlib, il est courant de rencontrer des situations où les valeurs numériques sur les axes passent de la norme forme numérique en notation exponentielle (par exemple, de "1050" à "1.057e3"). Cela peut être indésirable, en particulier lors d'un zoom avant sur des sections spécifiques du graphique.

Pour éviter ce comportement, Matplotlib propose des options pour personnaliser le formatage des étiquettes de graduation. La gestion de la notation exponentielle est contrôlée par un objet Formatter, qui est généralement une instance de ScalerFormatter.

Désactiver le décalage constant

Par défaut, ScalerFormatter utilise un décalage constant si le changement fractionnaire des valeurs affichées est minime. Pour éviter cet effet et forcer l'affichage de la forme numérique standard, définissez l'indicateur useOffset du formateur majeur sur 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>
Copier après la connexion

Désactivez la notation scientifique

Si vous préférez éviter complètement la notation scientifique, vous pouvez utiliser la méthode set_scientific du formateur majeur :

<code class="python"># Disable scientific notation
ax.get_xaxis().get_major_formatter().set_scientific(False)</code>
Copier après la connexion

Configuration globale

Alternativement, vous pouvez contrôler l'utilisation de l'exponentielle notation globalement en modifiant le paramètre axes.formatter.useoffset dans les paramètres de configuration de Matplotlib :

<code class="python">plt.rcParams['axes.formatter.useoffset'] = False</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!