Hallo,
natürlich kann man StackGraphics[] nehmen, wenn
man z. B. ein
besonders inniges Verhältnis zu dieser Funktion
hat,
sie endlich mal verwenden will oder danach gefragt
wird.
Das ist aber wesentlich umständlicher und auch
unlogischer.
Man muß dazu nur herausfinden wie StackGraphics[]
die y-Koordinate
erzeugt und diese umrechnen. Also
<< Graphics`Graphics3D`
Diff = 2.26*10^(-9);
prop = 1/((4 Pi Diff y)^(1/2))*Exp[-x^2/(4Diff
y)];
stack = Table[Plot[prop, {x, -.00005, .00005},
DisplayFunction -> Identity], {y, .05,
0.001, -0.002}];
Show[gr = StackGraphics[stack], PlotRange -> All,
Axes -> True, Boxed ->
False]
n = Length[Cases[gr, _Line, Infinity]];
dy = 1/n;
mydy = -0.002;
y0 = 0.05;
gr1=Show[gr /. Line[pnts_] :> Line[({0, y0, 0} +
{1, mydy/dy, 1}*#) & /@ pnts],
PlotRange -> All, Axes -> True
]
was daran unschön ist, ist die Tatsache, das man
mydy und y0 aus der
stack=Table[__,{y, .05, 0.001, -0.002}}
heraus kopieren muß, änderte man da etwas muß es
auch unten hin geschrieben werden. Das ist
fehleranfällig und es wiederstrebt mir, die
Information über die y-Position jedes Plots durch
StackGraphics[] verwursten zu lassen und dann
hinterher mühseelig die y-Koordinaten wieder zu
rekonstruieren.
Egal was man gemacht hat, man kann aber noch
probiern, die hintereinander liegenden Linien mit
gr1 /. Line[pnts_] :> {EdgeForm[],
Hue[Mean[pnts][[2]]/(n*mydy)],
Polygon[Join[#, Reverse[# /. {x_, y_, _} :> {x, y,
0}]]] & /@
Partition[pnts, 2, 1], {RGBColor[0, 0, 0],
Line[pnts]}} //
Show[#, Lighting -> False] &
etwas zu verhübschen
Gruß
Jens
----- Original Message -----
From: "cgalle" <kaleb_g@XXXXXXX.ch>
To: "'Jens-Peer Kuska'"
<kuska@XXXXXXX.de>;
<demug@XXXXXXX.ch>
Sent: Tuesday, August 02, 2005 11:33 PM
Subject: AW: Achsenbeschriftung Stackplot
| Hallo,
|
| > Diff = 2.26*10^(-9);
| > prop = 1/((4 Pi Diff y)^(1/2))*Exp[-x^2/(4Diff
| > y)];
| > stack = Block[{$DisplayFunction = Identity},
| > Table[{y, Plot[prop, {x, -.00005, .00005}]},
{y,
| > .05, 0.001, -0.002}]];
| >
| > lines3d =
| > stack /. {y_, gr_Graphics} :> (Cases[gr,
_Line,
| > Infinity] /.
| > Line[pnts_] :> Line[Insert[#, y, 2] & /@
| > pnts]);
| >
| > Show[Graphics3D[lines3d], PlotRange -> All,
| > BoxRatios -> {1, 1, 1}, Axes -> True]
|
| Mann, Mann, Mann, wie kommt man denn auf
sowas???? :-)
|
| Kapier ich zwar nicht, aber klappt!!
|
| Kann ich daraus schließen, dass ich mit
StackGraphics nicht zum Ziel
| komme?
|
| Besten Dank
| Christian
|
|