2017-04-19 35 views
1

如在herehere上閱讀,它們使用format_coord來禁用座標或從工具欄更改格式。 在鏈接問題中使用axe.format_coord = lambda x, y: '',刪除了很好的座標。不過,我也想禁用的像素值:enter image description here禁用matplot工具欄上的像素值圖

然後我試圖用

axe.format_coord = lambda x, y,z:'' 

但給了一個錯誤:

s = event.inaxes.format_coord(event.xdata, event.ydata) 
TypeError: <lambda>() takes exactly 3 arguments (2 given) 

請幫我解決這個問題。

fig.canvas.toolbar.set_message = lambda x: "" 

+0

'axe.format_coord'之前的值是什麼? –

+0

從錯誤中可以看出,不能使用'z'作爲附加參數,因爲lambda函數總是用2個參數('x','y')調用。 – ImportanceOfBeingErnest

+0

以前的值是'axe.format_coord = lambda x,y:'''完美的工作,因爲我也想禁用工具欄上的座標 – Ivan

回答

1

爲了抑制在圖窗口的狀態欄中的任何輸出,一個可以與返回空字符串lambda函數代替圖中的工具欄的消息的方法(NavigationToolbar2.set_message)完整示例:

import matplotlib.pyplot as plt 
import numpy as np 

fig, ax = plt.subplots() 

ax.imshow(np.random.rand(5,5)) 
fig.canvas.toolbar.set_message = lambda x: "" 

plt.show() 
+0

我忘了提到我在Tkinter上做了一個GUI,試過了你的建議, t工作,但隨後應用到工具欄小部件: 'self.toolbar = NavigationToolbar2TkAgg(self.canvas,self.plot1_frame1)self.toolbar.set_message = lambda x:「」' 工作正常,謝謝 – Ivan