Pourquoi les valeurs de l'axe Y de Matplotlib ne sont-elles pas ordonnées ?

DDD
Libérer: 2024-10-24 11:27:29
original
323 Les gens l'ont consulté

Why Are Matplotlib Y-Axis Values Not Ordered?

Pourquoi les valeurs de l'axe y de Matplotlib ne sont-elles pas ordonnées ?

Dans matplotlib, lorsque les valeurs de votre axe y apparaissent sous une forme inattendue et non ordonnée, il est probable en raison du type de données de ces valeurs. Souvent, ils sont tracés sous forme de chaînes au lieu de nombres.

Pour résoudre ce problème, convertissez vos données sur l'axe Y en flottants en les convertissant explicitement lors de la compréhension de la liste :

<code class="python">Solar = [float(line[1]) for line in I020]</code>
Copier après la connexion

Au-delà des données conversion, il est également conseillé d'utiliser la capacité de formatage automatique de matplotlib pour l'axe des x lorsque vous travaillez avec des dates et des heures. Cette fonctionnalité ajuste automatiquement la rotation des étiquettes et d'autres aspects pour améliorer la lisibilité du graphique :

<code class="python">plt.gcf().autofmt_xdate()</code>
Copier après la connexion

À des fins d'illustration, révisons le code fourni :

<code class="python">I020 = [line.strip('\n').split(",") for line in open('PV5sdata1.csv')][1:]
Time = [datetime.datetime.strptime(line[0], "%H%M%S%f") for line in I020]
Time1 = [mdates.date2num(line) for line in Time]
Solar = [float(line[1]) for line in I020]

fig, ax = plt.subplots()

ax.set_title('Solar data')
ax.set_xlabel('Time')
ax.set_ylabel('Solar')
ax.plot_date(Time1, Solar, 'k-')

hfmt = mdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_formatter(hfmt)
plt.gcf().autofmt_xdate()

plt.show()</code>
Copier après la connexion

Dans ce code modifié, nous déclarons la figure et les axes comme objets séparés (figue, hache). Cette approche offre plus de contrôle et de flexibilité lors de la personnalisation des attributs du tracé.

Le graphique résultant affiche des valeurs de l'axe Y bien ordonnées et un étiquetage amélioré de l'axe X :

[Image de l'axe Y ordonné et étiquetage amélioré de l'axe X]

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