Matplotlib の y 軸の値が順序付けされていない: 解決策
matplotlib では、データをプロットするときに y 軸の値が順序付けされていないように見えることがあります。 CSVファイル。これに対処するには、データが文字列ではなく数値として処理されるようにすることが重要です。
次のコードを考えてみましょう。
<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>
y 軸データ (Solar) をキャストすることで、 ) を浮動小数点数に変換すると、コードは値を数値として正しく解釈し、順序付けられた y 軸を導きます。
さらに、x 軸の自動フォーマット (plt.gcf().autofmt_xdate()) を有効にすると、改善されます。プロットのレイアウトと読みやすさ。これは、日付/時刻データを扱う場合に特に有益です。
以上がMatplotlib の Y 軸の値が順序付けされていないのはなぜですか? それを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。