簡體   English   中英

Matplotlib yaxis 范圍顯示使用絕對值而不是偏移值?

[英]Matplotlib yaxis range display using absolute values rather than offset values?

我有以下范圍的 numpy 數據(usec 時間戳的增量):

array([ 4.312,  4.317,  4.316,  4.32 ,  4.316,  4.316,  4.319,  4.317,
    4.317,  4.316,  4.318,  4.316,  4.318,  4.316,  4.318,  4.317,
    4.317,  4.317,  4.316,  4.317,  4.318,  4.316,  4.318,  4.316,
    4.318,  4.316,  4.317,  4.317,  4.318,  4.316,  4.317,  4.317,
    4.317,  4.317,  4.317,  4.316,  4.319,  4.315,  4.319,  4.315,
    4.319,  4.315,  4.316,  4.319,  4.317,  4.317,  4.317,  4.318,
    4.315,  4.317,  4.317,  4.317,  4.319,  4.314,  4.32 ,  4.315,
    4.317,  4.318,  4.315,  4.318,  4.317,  4.317,  4.317,  4.316,
    4.317,  4.318,  4.317,  4.317,  4.317,  4.315,  4.319,  4.317,
    4.315,  4.319,  4.316,  4.318,  4.318,  4.315,  4.318,  4.317,
    4.317,  4.321])

當我用 matplotlib.pyplot 繪圖時:

 import matplotlib.pyplot as plt
 plt.plot( deltas ) 
 plt.show()

我得到以下情節。 為什么 Y 軸以這種方式縮放? 如何將 Y 軸標記為數據,而不是數據的偏移量? 有時情節是“+4.nnn”有時不是(取決於數據范圍?)。

繪制“奇怪”:
繪制不好

“正確”繪制:
正確繪制

將 useOffset 設置為 False:

ax = plt.gca()
ax.ticklabel_format(useOffset=False)

這個答案建議禁用偏移量作為全局設置,這對我有用:

matplotlib.rcParams['axes.formatter.useoffset'] = False

你也可以使用

ax = plt.gca()
ax.set_yticklabels(ax.get_yticks())

雖然我更喜歡@HYRY 的回答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM