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.
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.
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 :
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.
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!