Maison  >  Article  >  développement back-end  >  Comment ordonner les valeurs de l’axe Y dans Matplotlib lorsqu’elles semblent initialement non ordonnées ?

Comment ordonner les valeurs de l’axe Y dans Matplotlib lorsqu’elles semblent initialement non ordonnées ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 09:03:02522parcourir

How to Order Y Axis Values in Matplotlib When They Initially Appear Unordered?

Les valeurs de l'axe Y de Matplotlib restent non ordonnées

Énoncé du problème

Lors du traçage de données à l'aide de Matplotlib, il est courant de rencontrer une situation où les valeurs de l'axe Y apparaissent non ordonné. Cela peut prêter à confusion lors de l'interprétation du graphique.

Analyse détaillée

Le problème survient lorsque les données sur l'axe Y sont traitées comme des chaînes au lieu de valeurs numériques. Matplotlib tente automatiquement de trier les chaînes par ordre alphabétique, ce qui peut perturber l'ordre attendu des données.

Solution

Pour résoudre ce problème, convertissez les données de l'axe Y en valeurs numériques avant de tracer. Ceci peut être réalisé en suivant les étapes suivantes :

  1. Extraire les données de l'axe Y sous forme de chaînes.
  2. Convertissez chaque valeur de chaîne en flottant ou en entier.
  3. Créez un tableau NumPy à partir des valeurs converties.
  4. Utilisez le tableau NumPy pour tracer les données sur l'axe Y.

Exemple

Considérez l'extrait de code suivant :

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

# Extract Y axis data as strings
solar = [line[1] for line in open('PV5sdata1.csv')][1:]

# Convert strings to floats
solar = [float(data) for data in solar]

# Create a NumPy array
solar_array = np.array(solar)

# Plot using NumPy array
plt.plot_date(Time1, solar_array, 'k-')</code>

En convertissant les données solaires en flotteurs avant le tracé, les valeurs de l'axe Y seront traitées comme des valeurs numériques et ordonnées correctement.

Améliorations supplémentaires

En plus de Lors de la conversion des données, il est recommandé d'utiliser le formatage automatique de Matplotlib pour l'axe X lors de l'utilisation de dates ou d'heures. Cela peut améliorer l'apparence du graphique en faisant pivoter les étiquettes et en ajustant leur orientation.

<code class="python">plt.gcf().autofmt_xdate()</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!

Déclaration:
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