0
我正在用matplotlib繪製幾個相鄰的面板。我遇到了一些軸標籤在面板會合處重疊的問題。下面是一個最小工作示例和示例圖像。如何刪除matplotlib中的一個刻度軸標籤
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(4,8))
ax1 = fig.add_axes([.25,.5,.5,.25])
ax2 = fig.add_axes([.25,.25,.5,.25])
ax1.set_xticklabels([])
fig.savefig("temp.pdf")
正如你可以在圖像中看到,頂面板的0.0和底部面板的1.0是在同一個地方。我試圖讓底部面板的1.0不顯示,但仍然顯示軸上剩餘的標籤。沒有我試過的工作。事我曾嘗試:
#This just doesn't do anything
from matplotlib.ticker import MaxNLocator
ax3.xaxis.set_major_locator(MaxNLocator(prune='upper'))
#This produces the image shown below
labels = [item for item in ax2.get_yticklabels()]
labels[-1].text = ''
ax2.set_yticklabels(labels)
#This also produces the image shown below
labels = ax2.get_yticklabels()
labels[-1].set_text('')
ax2.set_yticklabels(labels)
上面的圖象是由最後兩個代碼的三個塊的緊接在圖像之前產生的。無論是否包含行labels[-1].text = ''
,都會出現奇怪的y軸標籤。
無論你的建議改變我的y軸標籤'文本(0,0,U 「)」)'。我在上面編輯的問題中展示了這個圖片。也許我在我的matplotlibrc文件中設置的東西是搞砸了?我嘗試關閉matplotlibrc文件中的所有內容,但問題仍然存在。更重要的是,無論是否包含'labels [-1] .set_text('')',我都會得到同樣奇怪的y軸標籤。 – Joshua
@Joshua嗯不知道那裏發生了什麼。我已經用不應該給您帶來任何問題的解決方案更新了我的答案。 – Suever
您的更新使我的軸標籤完全消失。當我在你的代碼塊的第一行之後'打印標籤'時,我得到一個空字符串列表:'[u'',u'',u'',u'',u'',u''] ' – Joshua