Warum sind Matplotlib-Y-Achsenwerte nicht geordnet?

DDD
Freigeben: 2024-10-24 11:27:29
Original
323 Leute haben es durchsucht

Why Are Matplotlib Y-Axis Values Not Ordered?

Warum sind Matplotlib-Y-Achsenwerte nicht geordnet?

Wenn Ihre Y-Achsenwerte in Matplotlib in einer unerwarteten, nicht geordneten Form erscheinen, ist dies wahrscheinlich aufgrund des Datentyps dieser Werte. Oft werden sie als Zeichenfolgen statt als Zahlen dargestellt.

Um dieses Problem zu beheben, konvertieren Sie Ihre Y-Achsen-Daten in Gleitkommazahlen, indem Sie sie während des Listenverständnisses explizit umwandeln:

<code class="python">Solar = [float(line[1]) for line in I020]</code>
Nach dem Login kopieren

Über Daten hinaus Bei der Konvertierung ist es außerdem ratsam, die automatische Formatierungsfunktion von matplotlib für die x-Achse zu nutzen, wenn Sie mit Datums- und Zeitangaben arbeiten. Diese Funktion passt die Beschriftungsrotation und andere Aspekte automatisch an, um die Lesbarkeit des Diagramms zu verbessern:

<code class="python">plt.gcf().autofmt_xdate()</code>
Nach dem Login kopieren

Zur Veranschaulichung überarbeiten wir den bereitgestellten Code:

<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>
Nach dem Login kopieren

In diesem geänderten Code erklären wir die Figur und die Achsen als separate Objekte (Abb., Axt). Dieser Ansatz bietet mehr Kontrolle und Flexibilität beim Anpassen von Plotattributen.

Das resultierende Diagramm zeigt wohlgeordnete Y-Achsenwerte und eine verbesserte X-Achsenbeschriftung:

[Bild der geordneten Y-Achse und verbesserte x-Achsenbeschriftung]

Das obige ist der detaillierte Inhalt vonWarum sind Matplotlib-Y-Achsenwerte nicht geordnet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!