Heim  >  Artikel  >  Backend-Entwicklung  >  Warum sind meine Matplotlib-Y-Achsenwerte ungeordnet und wie kann ich das beheben?

Warum sind meine Matplotlib-Y-Achsenwerte ungeordnet und wie kann ich das beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 09:47:02706Durchsuche

Why Are My Matplotlib Y-Axis Values Unordered and How to Fix It?

Matplotlib y-Achsenwerte sind nicht geordnet: Eine Lösung

In matplotlib können die y-Achsenwerte beim Plotten von Daten aus a ungeordnet erscheinen CSV-Datei. Um dieses Problem zu beheben, muss unbedingt sichergestellt werden, dass die Daten als numerische Werte und nicht als Zeichenfolgen behandelt werden.

Beachten Sie den folgenden Code:

<code class="python">I020 = [ line.strip('\n').split(",") for line in open(r'D:\Users\a0476\Anaconda3\TickData\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 = [ line[1] for line in I020 ]

# Convert y-axis data to floats
Solar = [float(line[1]) for line in I020]

xs = np.array(Time1)
ys = np.array(Solar)

fig, ax = plt.subplots() # using matplotlib's Object Oriented API

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

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

plt.show()</code>

Durch Umwandlung der Y-Achsen-Daten (Solar ) in Gleitkommazahlen interpretiert der Code die Werte korrekt als numerisch, was zu einer geordneten Y-Achse führt.

Zusätzlich wird die Aktivierung der automatischen Formatierung der X-Achse (plt.gcf().autofmt_xdate()) verbessert das Layout und die Lesbarkeit der Handlung. Dies ist insbesondere beim Umgang mit Datums-/Uhrzeitdaten von Vorteil.

Das obige ist der detaillierte Inhalt vonWarum sind meine Matplotlib-Y-Achsenwerte ungeordnet und wie kann ich das beheben?. 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