Ich habe versucht, die Maus x, y Koordinaten zu Variablen nach Matplotlib Plot Maßstab nicht Pixel, aber es gibt mir nur die ganzzahligen Komponenten wie 0.0 oder 1.0 Ich möchte die genaue Zahl wie 0,1245 zurückkehren hier ist mein CodeGet Koordinaten von Matplotlib Plot Figur Python mit Mausklick
import matplotlib
import Tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.figure import Figure
import numpy as np
import matplotlib.pyplot as plt
def onclick(self,event):
ix, iy = float(event.xdata), float(event.ydata)
print 'x = %d, y = %d' % (
ix, iy)
root = tk.Tk()
circle1 = plt.Circle((0, 0), 1, color='blue')
f = plt.figure()
a = f.add_subplot(111)
f, a = plt.subplots()
a.add_artist(circle1)
a.set_xlim(-1.1, +1.1)
a.set_ylim(-1.1, +1.1)
#a.plot(circle1)
canvas = FigureCanvasTkAgg(f, master=root)
canvas.show()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
canvas.mpl_connect('button_press_event', onclick)
canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1)
root.mainloop()
Das ist interessant. Ich versuche das in Python 3, und abgesehen von kleinen Änderungen ('Tkinter' ->' tkinter', String-Formatierung und 'def onclick (self, event)' -> 'def onclick (event)'), gibt es mir perfekt genaue Ergebnisse. – TidB
actualy ja Python 3 unterscheidet sich von Python mit einigen kleinen Änderungen, danke für die Antwort :) –