Saltar al contenido

Pasar el cursor del mouse sobre un gráfico para mostrar un punto “correspondiente” en otro gráfico

El tutorial o código que hallarás en este artículo es la resolución más rápida y válida que hallamos a esta duda o problema.

Solución:

Utilizando Scaled Las coordenadas pueden ser muy útiles:

DynamicModule[
  loc = Scaled[0.5, 0.5],
 Column[
   Plot[
    x, x, 1, 2,
    Epilog -> Dynamic[ Point[Scaled[loc[[1, 1]], loc[[1, 1]]]] ]],
   Plot[
    x^2, x, -1, 2,
    Epilog -> [email protected][Dynamic[loc]]]
   ]
 ]

algunas parcelas

Vea cómo el punto en las primeras coordenadas sigue muy bien a pesar de que sus rangos son completamente diferentes.

Por supuesto, puedes usar EventHandler con MousePosition, que admite coordenadas “GraphicsScaled”, en lugar de un Locator.

data = Table[i, 5 Sin[i/10] + RandomReal[], i, 100];
data2 = Log[#], #2 & @@@ data;

En caso de que no sepa cómo se relacionan ambos ejes entre sí, pero solo tiene conjuntos de puntos, puede hacer algo como:

[email protected]
[opts = Axes -> False, Frame -> True, ImageSize -> 300, 300/GoldenRatio, AspectRatio -> 1/GoldenRatio, DynamicModule[sel = 1, mark, Column[ Graphics[[email protected], [email protected][data], Red, [email protected], [email protected][data[[sel]]], opts], Graphics[[email protected], [email protected][data2], Red, [email protected], [email protected][data2[[sel]]], opts] ] , Initialization :> ( mark[data_] := MapIndexed[[email protected]If[CurrentValue["MouseOver"], sel = [email protected]#2];, Point[#] &, data]; )] ]

ingrese la descripción de la imagen aquí

Recuerda que tienes la capacidad de explicar si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *