1
我想編寫一個函數來改變我傳遞給它的圖中所有標籤的字體,而不實際更改標籤本身。Matplotlib:設置沒有設置標籤的標籤字體
這對於我已經創建並需要統一字體樣式的圖形非常有用。
目前我使用多種字體庫,像這樣:
titleFont = {'family' : 'Arial',
'weight' : 'bold',
'size' : 20}
axesFont = {'family' : 'Arial',
'weight' : 'bold',
'size' : 18}
axesTickFont = {'family' : 'Arial',
'weight' : 'bold',
'size' : 16}`
,然後使用命令沿線的設置字體大小:
ax.set_title('My Plot',**titleFont)
的問題是,與上面的命令,我需要指定一個情節標題,當我想要做的是設置現有標題的字體樣式。
像這樣的理想:
def set_fonts(axis):
axis.set_title(**titleFont)
axis.set_ylabel(**axesFont)
axis.set_xlabel(**axesFont)
return axis
Thanks @hitzg!這工作得很好。我無法實現第二個解決方案,因爲我不知道如何指向ticklabels對象。 axis.xaxis.ticklabels不起作用。你知道我在哪裏可以找到mpl對象的細節,以便從面向對象的角度更好地理解發生了什麼? – YoungPadawan
要獲取ticklabel對象,可以使用'axis.get_xticklabels()'和'axis.get_yticklabels()'。我同意某些getter函數返回藝術家並且有些只是藝術家的一個屬性(例如,只返回文本而不是文本藝術家的'axis.get_xlabel()'),這有些不一致。 – hitzg
並且用plt.setp方法,我怎樣才能訪問標籤? – YoungPadawan