為什麼 Matplotlib Y 軸值沒有排序?

DDD
發布: 2024-10-24 11:27:29
原創
324 人瀏覽過

Why Are Matplotlib Y-Axis Values Not Ordered?

為什麼 Matplotlib y 軸值沒有排序?

在 matplotlib 中,當你的 y 軸值以意外的、無序的形式出現時,很可能由於這些值的資料類型。通常,它們被繪製為字串而不是數字。

要修正此問題,請透過在清單理解期間明確轉換y 軸資料將它們轉換為浮點數:

<code class="python">Solar = [float(line[1]) for line in I020]</code>
登入後複製

超越資料轉換,也建議在處理日期和時間時使用matplotlib 的x 軸自動格式化功能。此功能會自動調整標籤旋轉和其他方面,以增強圖形的可讀性:

<code class="python">plt.gcf().autofmt_xdate()</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>
登入後複製

在在此修改後的程式碼中,我們聲明圖形和軸作為單獨的物件(fig、ax)。這種方法在自訂繪圖屬性時提供了更多的控制和靈活性。

產生的圖形顯示有序的 y 軸值和改進的 x 軸標籤:

[有序 y 軸和改進的 x 軸標籤]

以上是為什麼 Matplotlib Y 軸值沒有排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!