自訂Matplotlib 軸刻度標籤以提高數值精度
在Python 中使用Matplotlib 庫繪製簡單的x-y 資料集時,經常會遇到軸值放大特定圖形部分時,從標準數字格式切換為指數形式的科學記數法。這可能是不可取的,因為它會掩蓋原始值。
要防止此行為並保留原始數字格式,有必要調整軸刻度標籤格式。預設情況下,Matplotlib 使用 ScalerFormatter 作為刻度標籤。此格式化程序可以利用恆定移位,在處理可見值中非常小的分數變化時產生科學記數法。
要停用此恆定移位並強制標準數字格式,可以使用以下程式碼:
import matplotlib.pyplot as plt
plt.plot(np.arange(0, 100, 10) 1000, np.arange(0, 100, 10))
ax = plt.gca()
ax.get_xaxis().get_major_formatter().set_useOffset(False)
plt.draw()
對於完全不需要科學計數法的情況,可以使用以下程式碼:
ax.get_xaxis().get_major_formatter().set_scientific(False)
或者,可以透過axes.formatter.useoffset rcparam 實現對此行為的全域控制。透過變更此參數,可以在所有軸刻度標籤上統一強制執行標準數字格式或科學記數法。
此自訂可確保即使在放大圖形時也能保持數位精度,為用戶提供更直觀的體驗以及其數據的精確表示。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3