」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何維持 Matplotlib 軸刻度標籤中的數值準確性?

如何維持 Matplotlib 軸刻度標籤中的數值準確性?

發佈於2024-11-07
瀏覽:998

How to Preserve Numerical Accuracy in Matplotlib Axis Tick Labels?

自訂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 實現對此行為的全域控制。透過變更此參數,可以在所有軸刻度標籤上統一強制執行標準數字格式或科學記數法。

此自訂可確保即使在放大圖形時也能保持數位精度,為用戶提供更直觀的體驗以及其數據的精確表示。

版本聲明 本文轉載於:1729514295如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3