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!