如果x轴上有日期时间对象,那么如何在matplotlib的click事件处理程序中单击哪一个?
我这样做的时候:
def onclick2(event):
print event.x
onClickId = figure.canvas.mpl_connect('button_press_event', OnClick2)
我已经尝试了event.x,event.xdata和event._x,它们都返回了int
最佳答案 当我尝试从使用matplotlib绘制的pandas时间索引数据帧返回时间戳x轴数据时,我遇到了类似的问题.在event.xdata上尝试Ajean的num2date建议会返回一个太大而不是日期数的浮点值(例如2014-4-14 2:25为23286385.16).
为了扩展Ajean的建议,最好先使用matplotlib.dates.date2num函数将datetime对象转换为numpy.float64.然后你可以使用matplotlib事件处理程序创建的numpy.float64数组作为x轴.然后,可以使用matplotlib.dates.num2date函数将事件处理程序返回的event.xdata转换回日期时间.