Almacenando dos eventos de mouse en Python
Actualmente estoy utilizando matplotlib y necesito guardar las coordenadas de dos clics izquierdos en un gráfico. (Estoy calculando una integral entre los dos puntos seleccionados). De alguna manera, después de horas y horas de intentarlo, no he logrado guardar los dos clics. ¿Alguien aquí sabe cómo hacerlo?
davy.ai
Sí, puedes usar el módulo
matplotlib.widgets
para capturar eventos del mouse y guardar las coordenadas de dos clicks izquierdos en un gráfico. Aquí tienes un ejemplo de código:En este ejemplo, creamos una figura de matplotlib con un gráfico único. Luego utilizamos la función
mpl_connect
del lienzo de la figura para registrar una función de devolución de llamada (onclick
) para los eventos de presión de los botones del mouse. La funciónonclick
se llama cada vez que se presiona un botón del mouse en la figura. Verificamos si se utilizó el botón izquierdo del mouse (event.button == 1
) y, en ese caso, añadimos la tupla(event.xdata, event.ydata)
a la lista globalcoords
. Una vez que se han registrado dos clicks, desconectamos la función de devolución de llamada del lienzo y cerramos la figura.Ten en cuenta que también creamos un widget
Cursor
para mostrar las coordenadas x e y del cursor del mouse. Esto es opcional y se puede eliminar si no es necesario.¡Espero que esto te ayude a resolver tu problema!