Estoy usando matplotlib
con NavigationToolbar2QT
. La barra de herramientas muestra la posición del cursor. Pero me gustaría que el cursor se ajuste al punto de datos más cercano (cuando esté lo suficientemente cerca) o simplemente muestre la coordenada del punto de datos más cercano. ¿Se puede arreglar de alguna manera?
python
matplotlib
Pigmalión
fuente
fuente
Respuestas:
Si está trabajando con grandes conjuntos de puntos, le aconsejo que use
CKDtrees
:Refactoré la
kpie's
respuesta aquí un poco. Una vezckdtree
creado, puede identificar los puntos más cercanos al instante y diversos tipos de información sobre ellos con un poco de esfuerzo:Visualización interactiva de la posición del cursor. Si desea que se muestren las coordenadas del punto más cercano en la barra de herramientas de navegación:
Usando eventos. Si desea otro tipo de interactividad, puede usar eventos:
fuente
points
cada vez que se amplía la gráfica?ckdtree.data
como puntos realistas con scale = 1. Supoints
puede ser reescalado y no hay problema si solo necesita acceder a sus índices.matplotlib
? Lo que encontré en la web fue extremadamente complicado.matplotlib
biblioteca. Después de todo, la biblioteca ha rediseñado posiciones de puntos en algún lugar; después de todo, ¡las está dibujando en la trama!set_aspect
: matplotlib.org/3.1.3/api/_as_gen/…El siguiente código imprimirá las coordenadas del punto más cercano al mouse cuando haga clic.
fuente
Podría subclasificar
NavigationToolbar2QT
y anular elmouse_move
controlador. Los atributosxdata
yydata
contienen la posición actual del mouse en las coordenadas de la trama. Puede ajustarlo al punto de datos más cercano antes de pasar el evento a la clase basemouse_move
controlador de la .Ejemplo completo, con el resaltado del punto más cercano en la trama como un bono:
fuente