Heim  >  Artikel  >  Backend-Entwicklung  >  Warum sind Matplotlib-Y-Achsenwerte nicht geordnet?

Warum sind Matplotlib-Y-Achsenwerte nicht geordnet?

DDD
DDDOriginal
2024-10-24 11:27:29323Durchsuche

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>

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

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>

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!

Stellungnahme:
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