Ich zeige ein Bild mit imshow
innerhalb einer GUI tkinter und ich habe eine NavigationToolbar2TkAgg
(python3.5) hinzugefügt. Ganz ähnlich wie this question (schau es dir für Visuals an), ich möchte die Formatierung der Koordinaten und Z-Werte ändern (insbesondere sind alle meine Z-Werte zwischen 0-10000, also möchte ich sie ausschreiben, anstatt wissenschaftliche Notation zu verwenden).tkinter NavigationToolbar2TkAgg ändern [z] Format für imshow
Für X und Y das war ziemlich einfach zu tun, indem Sie den format_coord
Griff ändern, aber ich kann nichts finden, um das letzte Bit [xxx]
zu ändern. Ich habe versucht format_cursor_data
, scheint es aber auch nicht zu sein.
Wer weiß eine Lösung?
Es scheint, dass der Wert [z]
nur für imshow
angezeigt wird, nicht für normale Plots.
geht hier ein minimales Codebeispiel, das Problem zu reproduzieren
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()