2017-07-06 67 views
1

我使用現有的腳本來繪製一個非常特定的數據類型。該腳本返回一個斧頭對象。 這些ax對象用於在新的更大的主圖中填充子圖。撤銷ax.set_yticks([])

在某處主腳本,

ax.set_yticks([]) 

被調用。通常這是通緝。對於其中一個單獨的繪圖腳本,我想簡單地撤消它,讓matplotlib根據數據自動設置我的嘀嗒聲,就像從未調用過ax.set_yticks([])一樣。

回答

0

可以存儲蜱定位器調用set_yticks([])之前,並恢復它後來

import matplotlib.pyplot as plt 

ax = plt.gca() 
ax.plot(range(10), range(10), 'ko') 

#store the yticks locator 
l = ax.yaxis.get_major_locator() 


#hide ticks and display the figure 
ax.set_yticks([]) 
plt.gcf().show() 
raw_input('pause') # => no more yticks 

#restore the tick locator to its originale state 
ax.yaxis.set_major_locator(l) 
plt.gcf().canvas.draw() #refresh the plot to sow the yticks again 

plt.show() 
+0

謝謝您的回答。然而,這意味着我必須修改現有的腳本,我不想做很多原因。有沒有不同的方式來做到這一點? – NorrinRadd

+0

在這種情況下,您可以創建一個新的標記定位符,而不是存儲原始標記定位符,默認定位器是matplotlib.ticker.Autolocator,但還有其他一些可以在此處找到https://matplotlib.org/api/ticker_api html的 – user2660966