Lieber Udo, liebe Susanne,
AspectRatio->Automatic setzt doch die horizontale und die vertikale
Achse genau in das gewünschte Verhältnis,
darunter verstand ich "maßstäblich". Also bei {x, -3, 3}, {y, 0, 2} in
das Verhältnis 3 zu 1.
Wenn Du das angehängte Notebook in meiner ursprünglichen Email
evaluierst, dann siehst Du 3 Graphiken.
Vergleiche die horizontale Achse der ersten mit der dritten Graphik,
sie sind optisch nicht gleich lang dargestellt. Wie erreiche ich gleiche
Länge?
Oder:
Vergleiche die vertikale Achse der ersten mit der horizontalen Achse der
zweiten Graphik,
dann siehst Du, sie sind optisch nicht gleich lang dargestellt. Wie
erreiche ich gleiche Länge?
Danke schon mal für weiter Hinweise.
MfG
Reinhard Schlosser
Udo und Susanne Krause schrieb:
Also, ohne Schreibfehler:
With[{xMin = -3, xMax = 3, yMin = 0, yMax = 2, zMin = 0, zMax = 3},
If[xMin < xMax && yMin < yMax && zMin < zMax, ContourPlot[f[x, y,
0], {x, xMin, xMax}, {y, yMin, yMax}, AspectRatio -> (yMax -
yMin)/(xMax - xMin)],
Return[$Failed]
]
]
Einen Modul zu bauen, der die variablen Werte von den fixen Werten (im
Beipiel ist z fix) unterscheidet und dann richtig AspectRatio belegt
ist einfach. Dazu muss man den Head f als Argument für diesen Modul
zulassen und die Grenzen ebenfalls als Argumente annehmen, so, dass
man die Auswertung für AspectRatio treffen kann.
Gruss Udo.
Udo und Susanne Krause wrote:
Lieber Reinhard,
wenn AspectRation nicht Automatic ist, dann wird die Länge zur Breite
nicht im Verhältnis des Goldenen Schnittes gezeichnet:
With[{xMin = -3, xMax = 3, yMin = 0, yMax = 2, zMin = 0, zMax = 3},
If[xMin < xMax && yMin < yMax && zMin < zMax, ContourPlot[f[x, y,
0], {x, -3, 3}, {y, 0, 2}, AspectRatio -> (yMax - yMin)/(xMax - xMin)],
Return[$Failed]
]
]
Mit den besten Grüssen
Udo.
reinhard schlosser wrote:
Liebe Liste,
ich habe eine reellwertige Funktion von drei reellen Veränderlichen
f(x,y,z).
Mit ContourPlot stelle ich die Funktion auf verschieden großen
Ebenen dar.
(Im Anhang befindet sich ein einfaches Beispiel.)
ContourPlot[f[x, y, 0],{x, -3, 3}, {y, 0, 2},
AspectRatio->Automatic, FrameLabel ->{"x in m", "y in m"}, PlotRange
->{{-3,3}, {0,2}, {-10,10}}]
ContourPlot[f[0, y, z],{y, 0, 2}, {z, 0, 3},
AspectRatio->Automatic, FrameLabel ->{"y in m", "z in m"}, PlotRange
->{{0,2}, {0,3}, {-10,10}}]
ContourPlot[f[x, 0, z],{x, -3, 3}, {z, 0, 3},
AspectRatio->Automatic, FrameLabel ->{"x in m", "z in m"}, PlotRange
->{{-3,3}, {0,3}, {-10,10}}]
Durch AspectRatio->Automatic erreiche ich, dass die horizontale zur
vertikalen Achse innerhalb eines ContourPlots maßstäblich ist.
Wie erreiche ich, dass die Achsen aller ContourPlots zueinander
maßstäblich sind?
Also die Achsen {x,-3,3}, {y,0,2}, {z,0,3} sollten "exakt" im
Verhältnis 6 zu 2 zu 3 sein.
Bemerkung: Wenn ich eine Graphik mit der Maus markiere, ensteht ein
rechteckiger Rahmen mit 8 schwarzen Kästchen.
Es genügt mir nicht die Kanten dieses Rahmens mit ImageSize zu
kontrollieren.
Da je nach Achsenbeschriftung die Länge der Achsen beeinflusst wird.
Nehmen wir jetzt an die einzelnen Achsen sind zueinander maßstäblich.
Wie erreiche ich es dann, dass beim Ausdrucken des Notebooks die
Achsen z. B. "exakt" 12cm zu 4cm zu 6cm sind.
Danke für Eure Hilfe.