Lieber Udo,
danke für Deine Hinweise, aber ich will gar nicht "die gleiche Höhe und
Breite aller drei Bilder erreichen"
Gleiches AspectRatio für alle ContourPlots macht die Sache für mich nur
noch schlimmer.
Schau Dir bitte noch mal die drei ContourPlots mit
AspectRatio->Automatic an:
Die Achsen sind mit Maßzahlen versehen.
Der Abstand zwischen der Maßzahl 0 und der Maßzahl 1 mit einem Lineal
gemessen,
ist bei ContourPlot 1 kleiner als bei ContourPlot 3 kleiner als bei
ContourPlot 2.
Natürlich kann ich ContourPlot 1 markieren und mit der Maus größer ziehen,
bis ich Übereinstimmung mit ContourPlot 3 habe, aber das ist mir zu ungenau
oder auch zu umständlich. Also wie gehts?
MfG
Reinhard Schlosser
Udo und Susanne Krause schrieb:
Lieber Reinhard,
also, die gleiche Höhe und Breite aller drei Bilder erreichen Sie, in
dem Sie das AspectRatio für alle in Frage stehenden Graphiken auf
denselben Wert (das muss nicht 1 sein, sondern "genau [in] das
gewünschte Verhältnis") festsetzen:
In[56]:=
Clear[g1, g2, g3];
g1 = ContourPlot[f[x,y,0],{x,-3,3},{y,0,2},
AspectRatio->1,PlotRange->{{-3,3},{0,2},{-10,10}}, FrameLabel->{"x in
m","y in m"}];
g2 =
ContourPlot[f[0,y,z],{y,0,2},{z,0,3},AspectRatio->1,PlotRange->{{0,2},{0,3},{-10,10}},FrameLabel->{"y
in m","z in m"}];
g3 =
ContourPlot[f[x,0,z],{x,-3,3},{z,0,3},AspectRatio->1,PlotRange->{{-3,3},{0,3},{-10,10}},FrameLabel->{"x
in m","z in m"}];
Mit den besten Grüssen
Udo.
reinhard schlosser wrote:
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.