【发布时间】:2017-06-01 08:10:47
【问题描述】:
我在 tkinter GUI 中使用 imshow 显示图像,并且添加了 NavigationToolbar2TkAgg (python3.5)。与this question 非常相似(查看视觉效果),我想更改坐标和 z 值的格式(特别是,我所有的 z 值都在 0-10000 之间,所以我想把它们写出来而不是使用科学记数法)。
对于 x 和 y,这很容易通过更改 format_coord 句柄来完成,但我似乎找不到任何东西来更改最后一位 [xxx]。我试过format_cursor_data,但似乎也不是。
有人知道解决办法吗?
[z] 的值似乎只针对imshow 显示,而不是针对常规绘图。
这是重现问题的最小代码示例
import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.figure import Figure
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolbar2TkAgg
top = tk.Tk()
fig = plt.figure()
plt.imshow(np.array([[0,1],[1,2]]))
ax = fig.gca()
ax.format_coord = lambda x,y: "x:%4u, y:%4u" % (x,y)
ax.format_cursor_data = lambda z: "Hello" % (z) # does nothing
canvas = FigureCanvasTkAgg(fig,master=top)
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
canvas.show()
toolbar = NavigationToolbar2TkAgg(canvas, top)
toolbar.update()
top.mainloop()
【问题讨论】:
标签: python tkinter format toolbar