給定 matplotlib 中的軸物件,我想找到刻度標簽的屬性,例如字體大小、旋轉等。
我為什么要這樣做?因為我試圖撰寫一個向繪圖添加一些文本的函式,并且我希望文本默認看起來與 (y) 軸刻度標簽相同。
我用谷歌搜索并找到了很多關于如何設定刻度標簽屬性的解釋,但沒有找到如何從軸中檢索這些屬性的解釋。
編輯:Axes.get_xticklabels在大多數情況下都有效,但是如果當前沒有刻度,它當然會中斷,這很少見,但這仍然不是理想的。似乎Axes物件本身有一個屬性,而不僅僅是Text這個函式回傳的物件。考慮:
fig, ax = plt.subplots(1,1)
ax.yaxis.set_ticks([])
ax.yaxis.get_ticklabels() # this returns []
ax.tick_params(axis='y', labelsize=25)
ax.yaxis.set_ticks([0.5])
運行此代碼后,刻度標簽“0.5”以 25 點字體顯示,這意味著 25 存盤在軸的某個位置,而不僅僅是在文本物件中。
uj5u.com熱心網友回復:
您可能必須從matplotlib.text.Text組成刻度標簽的各個物件中獲取屬性。
例如,如果你知道它們都是一樣的:
xta = ax.get_xticklabels()
xtext = xta[0]
print(xtext.get_font()) # sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=10.0
print(xtext.get_fontfamily()) # ['sans-serif']
print(xtext.get_fontsize()) # 10.0
print(xtext.get_rotation()) # 0.0
print(xtext.get_rotation_mode()) # None
吸氣劑列在鏈接的檔案中,或者可以埋在print(dir(xtext))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/454518.html
標籤:Python matplotlib
