É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>
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>
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>
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!