2017-07-06 170 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