【问题标题】:Disable value of pixels from toolbar on matplot figure禁用 matplotlib 图上工具栏的像素值
【发布时间】:2017-04-19 16:34:38
【问题描述】:

herehere 上阅读时,它们使用format_coord 从工具栏中禁用坐标或更改格式。 在链接的问题中使用axe.format_coord = lambda x, y: '',删除坐标,这很好。但是,我也想禁用像素值:

然后我尝试使用

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

但这给出了一个错误:

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

请帮我解决它。

【问题讨论】:

  • 之前axe.format_coord的值是多少?
  • 从错误中可以看出,你不能使用z作为附加参数,因为lambda函数总是用2个参数(x,y)调用。
  • 以前的值是 axe.format_coord = lambda x, y: '' 非常完美,因为我还想从工具栏禁用坐标

标签: python matplotlib axes


【解决方案1】:

为了抑制图形窗口状态栏中的任何输出,可以将图形工具栏的消息方法(NavigationToolbar2's .set_message)替换为返回空字符串的 lambda 函数:

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

完整示例:

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() 

【讨论】:

  • 我忘了提到我在 Tkinter 上做一个 GUI,尝试了你的建议但没有工作,但随后将其应用于工具栏小部件:self.toolbar = NavigationToolbar2TkAgg(self.canvas, self.plot1_frame1) self.toolbar.set_message=lambda x:"" 工作正常,谢谢跨度>
猜你喜欢
  • 1970-01-01
  • 2016-06-30
  • 2021-11-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
相关资源
最近更新 更多