當 Matplotlib 中的 Y 軸值最初顯示為無序時,如何對其進行排序?

Linda Hamilton
發布: 2024-10-24 09:03:02
原創
537 人瀏覽過

How to Order Y Axis Values in Matplotlib When They Initially Appear Unordered?

Matplotlib Y 軸值保持無序

問題陳述

使用Matplotlib 繪製資料時,常會遇到Y 軸值出現的情況無序的。這可能會在解釋圖表時導致混亂。

詳細分析

當 Y 軸上的資料被視為字串而不是數值時,就會出現問題。 Matplotlib 會自動嘗試按字母順序對字串進行排序,這可能會破壞資料的預期順序。

解決方案

要解決此問題,請在繪圖之前將 Y 軸資料轉換為數值。這可以透過使用以下步驟來實現:

  1. 將 Y 軸資料提取為字串。
  2. 將每個字串值轉換為浮點數或整數。
  3. 根據轉換後的值建立一個 NumPy 陣列。
  4. 使用 NumPy 陣列在 Y 軸上繪製資料。

範例

考慮以下程式碼片段:

<code class="python">import matplotlib.pyplot as plt
import numpy as np

# Extract Y axis data as strings
solar = [line[1] for line in open('PV5sdata1.csv')][1:]

# Convert strings to floats
solar = [float(data) for data in solar]

# Create a NumPy array
solar_array = np.array(solar)

# Plot using NumPy array
plt.plot_date(Time1, solar_array, 'k-')</code>
登入後複製

透過在繪圖前將太陽資料轉換為浮點數,Y 軸值將被視為數值並正確排序。

其他增強功能

除了轉換資料時,建議在使用日期或時間時使用 Matplotlib 的 X 軸自動格式化功能。這可以透過旋轉標籤並調整其方向來改善圖表的外觀。

<code class="python">plt.gcf().autofmt_xdate()</code>
登入後複製

以上是當 Matplotlib 中的 Y 軸值最初顯示為無序時,如何對其進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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