У меня есть график данных (с использованием matplotlib
и Tkinter
) и создал funtion, который отвечает пользователю, нажимая на точку на графике. Я получил программу, чтобы вернуть правильное значение y (потому что это просто тип float). Однако моя ось x имеет данные типа datetime
, и когда я прошу распечатать значение x, он печатает тип numpy.float64
. Я ищу использовать значение datetime, которое пользователь выбирает, но мне нужно сначала получить к нему доступ.Попытка использовать Datetime из мыши из Matplotlib в Tkinter
Одним из примеров х возвращаемого значения: 735764,731698
Ниже функция имеет дело с onpick событием.
import matplotlib.pyplot as plt
from Tkinter import *
from PIL import ImageTk, Image
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import numpy as np
from images_to_list import images_to_list
from tkFileDialog import askopenfilename, askdirectory
import matplotlib.dates as mdates
def onpick(self,event):
im=Image.open('C:\Carbonite\EL_36604.02_231694\EL_36604.02_231694_2015-06-15 10.39.57.jpeg')
im.show()
x = event.mouseevent.xdata
y = event.mouseevent.ydata
x1 = event.mouseevent.x
y1 = event.mouseevent.y
dataind = event.ind[0]
print type(x),x,y,x1,y1, len(event.ind)
return True
#Action Creating the UI and running the program
app = App(extra)
app.canvas.mpl_connect('pick_event', app.onpick)
extra.mainloop()
Ниже приведен пример вывода, когда выбирается точка:
%run "C:\Carbonite\Main_interface_file.py"
<type 'numpy.float64'> 735764.732134 1.93689320388 499 242.0 1