est-il possible de zoomer dans une région et d'l'afficher comme un sous-champ dans la même parcelle? Voici ma tentative primitive chez FreeHand Graphics, d'illustrer ma question: p>
p>
Je peux penser à utiliser En outre, il serait bien que le positionnement du sous-champ puisse être entré, car différentes courbes ont différentes "régions vides" pouvant être utilisées pour positionner l'image. P>
J'ai vu cela dans plusieurs articles et je peux le faire à Matlab, mais je n'ai aucune idée de la façon de le faire dans MMA. P> tracé code>, puis
épilog code>, mais je me perds dans le positionnement et en donnant à l'intrigue sa propre origine (quand j'essaie
EPILOG CODE> ON
TRACE CODE>, la nouvelle parcelle repose sur l'ancien, en utilisant la vieille origine). p>
4 Réponses :
juste un kickstart: p> p>
Utilisez INSET. Voici un exemple: p> p> p >
+1 Depuis la version 4.0 (publiée en 1999), FullOptions a été remplacée par les absolueurs i>. :RÉ
D'ailleurs, je me demande pourquoi je n'utilisais pas seulement des options? Les vieilles habitudes meurent lentement, je suppose.
Bel exemple! Mais il est probablement préférable d'utiliser protr code> au lieu de
EPILOG code> dans de tels cas pour ne pas se chevaucher le graphique d'origine.
et, empruntant de Code Belisarius , vous pouvez également sélectionner la mise au point de votre inset de manière interactive forte> en sélectionnant une position à l'axe X: ou, si vous souhaitez également Placez l'encart de manière interactive: p> edit strong> p> Une autre alternative basée sur la question de dbjohn: p> imgsz = 400;
f[x_] := Piecewise[{{Sin@x, Abs@x > .1}, {Sin[100 x], Abs[x] <= 0.1}}];
Manipulate[
Plot[f[x], {x, -3, 3}, PlotRange -> {{-3, 3}, {-2, 5}},
ImageSize -> imgsz,
Epilog ->
Inset[Plot[f[y], {y, p[[1]] - .3, p[[1]] + 0.3}, PlotStyle -> Red,
Axes -> False, Frame -> True, ImageSize -> imgsz/3],
Scaled[zw]]], {{p, {0, 0}}, Locator,
Appearance -> None}, {{zw, {0.5, 0.5}, "Zoom window"}, Slider2D}]
+1 bonne solution. @Sjoerd C. de Vries Utilisation de cela, j'ai remarqué que la déplacement de l'encart puis en cliquant sur la parcelle "sauter" l'encart lorsque vous voulez vraiment que l'axe d'instance X axe axée, c'est-à-dire mélangé. Toute amélioration suggérée de travailler autour de cela? Peut-être un deuxième locator ...
@dbjohn Yep, j'ai remarqué cela aussi. Le clic passe toujours au localisateur le plus proche. Cela peut signifier qu'un clic sur la courbe peut déplacer la fenêtre de zoom s'il était plus proche que le point de la courbe que vous avez préalablement zoomé. J'ai pensé à utiliser des touches de modificateur ou donc (Ctrl-clic, etc.) mais cela le rendrait plus complexe que je ne suis prêt à faire pour le moment. Une autre solution peut être un curseur 2D pour sélectionner la position de la fenêtre de zoom.
Je trouve cela une zone ayant besoin de meilleurs outils intégrés. Je travaille sur cette solution basée sur une démo ici . Je préfère avoir l'image zoomée et une image réformée séparée et comme bonus, j'ai ajouté une zone présentable dans laquelle on pourrait mettre des textes ou des équations pertinentes. Pour différentes fonctions, le format peut avoir besoin d'être modifié manuellement.
(f[x_] := Piecewise[{{Sin@x, Abs@x > .1}, {Sin[100 x], Abs[x] <= 0.1}}]; ; xMin = -3; yMin = -3; xMax = 3; yMax = 3; Manipulate[ Grid[{{LocatorPane[{a}, Plot[f[x], {x, xMin, xMax}, PlotRange -> {{xMin, xMax }, {yMin, yMax}}, ImageSize -> Medium, AspectRatio -> 1, AxesOrigin -> {0, 0}]], Plot[f[x], {x, (a[[1]]) + xMin*mag, (a[[1]]) + xMax*mag}, PlotRange -> {(*{(a[[1]])+xMin*mag,(a[[1]])+xMax* mag},*){(a[[2]]) + yMin*mag, (a[[2]]) + yMax*mag}}, ImageSize -> Medium, AspectRatio -> 1, AxesOrigin -> {0, 0}, Frame -> True], Item[StringForm["This is a suitable area to put any text. Value of A is : `1` ", a], Alignment -> {Left, Top}]}}, Frame -> All, ItemSize -> All, Spacings -> 5], {{a, {0, 0}}, {xMin, yMin}, {xMax, yMax}, Locator, Appearance -> Graphics[{Yellow, Opacity[.2], Rectangle[Scaled[{.5 - (mag/2), .5 - (mag/2)}], Scaled[{.5 + (mag/2), .5 + (mag/2)}]]}]}, {{mag, .06, "Magnification"}, 0.01, 1, Appearance -> "Labeled"}])
Peut-être que cela vous intéressera web.ift.if.no/~szhorvat/mmatricks.php Regardez la section de zoom
Lien mort: web.ift.ift.uib.no/~szhorvat/mmatricks.php