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]]]
]
]
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];
)]
]
Recuerda que tienes la capacidad de explicar si te fue útil.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)