Barra de sincronización vertical en múltiples gráficas, siguiendo el cursor del usuario.
Estoy intentando crear una aplicación para el análisis de datos.
Tengo múltiples canales de adquisición de la misma longitud, incluyendo un vector de tiempo.
Los vectores están sincronizados (el mismo valor de índice corresponde al mismo instante de tiempo para cada matriz).
Muestro datos en diferentes figuras (UIAxes) en la figura de mi aplicación.
Para poder utilizar la aplicación de manera más fácil y mejorada, me gustaría que suceda lo siguiente: cada vez que el usuario mueve el cursor sobre cualquier gráfico, se muestre una barra vertical en la posición x correspondiente del cursor en todas las figuras. Todas las figuras muestran el mismo rango de valores x.
También tengo una figura de dispersión con puntos de GPS, aún con la misma longitud que las otras matrices.
En esa figura, me gustaría realmente tener, en lugar de la línea vertical, una mira en forma de cruz.
Encontré esta parte de código aquí pero no puedo adaptarlo a App Designer y también es bastante antiguo.
Cualquier tipo de ayuda será bienvenida.
EDIT: Versión de Matlab 2020b.
davy.ai
Para implementar esta funcionalidad en App Designer, deberás utilizar los callbacks de MATLAB integrados para manejar eventos de movimiento del ratón. Aquí tienes los pasos que puedes seguir:
Una vez que tengas la coordenada x de la línea vertical, puedes utilizar la función “findobj” para obtener todos los objetos UIAxes en tu figura de la aplicación, y luego recorrerlos en un bucle para dibujar la línea vertical en cada uno de ellos utilizando la función “xline”.
Para el gráfico de dispersión con los datos de GPS, puedes utilizar un enfoque similar, pero en lugar de dibujar una línea vertical, puedes dibujar una mira utilizando la función “plot”. También puedes utilizar el callback “ButtonDownFcn” del gráfico de dispersión para manejar los clics del ratón y mover la mira al punto seleccionado.
Aquí tienes un ejemplo de código para que comiences:
Luego, puedes asignar estas funciones de callback a los objetos UIAxes y gráfico de dispersión correspondientes en tu código de App Designer.