This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Die Struktur von Grafik und Ton /

Grafikanweisungen und OptionenBeschriftung zweidimensionaler Grafik

2.9.4 Koordinatensysteme für zweidimensionale Grafik

Wenn Sie in Mathematica ein Grafik-Objekt anlegen, geben Sie Koordinaten für die verschiedenen grafischen Elemente an, die auftauchen. Wenn Mathematica das Grafik-Objekt darstellt, muß es die von Ihnen eingegebenen Koordinaten in „Anzeige-Koordinaten" umrechnen, die angeben, wo jedes Element auf der endgültigen Darstellungsfläche plaziert sein soll.

Manchmal mag es für Sie vorteilhaft sein, die Koordinaten für ein grafisches Element direkt anzugeben. Dies erreichen Sie mit „skalierten Koordinaten" Scaled[sx, sy] anstelle von x, y. Die skalierten Koordinaten laufen nach Definition von 0 bis 1 in der - und -Richtung, mit dem Ursprung in der linken unteren Ecke der Darstellungsfläche.

Koordinatensysteme für zweidimensionale Grafik

Das Rechteck wird auf einer festen Position relativ zur Darstellungsfläche gezeichnet, unabhängig von den ursprünglichen Koordinaten, die für das Diagramm benutzt werden.

In[1]:= Plot[Tan[x], {x, 0, 2Pi},
Prolog ->
Rectangle[Scaled[{0.7, 0.7}], Scaled[{1, 1}]]]

Out[1]=

Wenn Sie x, y oder Scaled[sx, sy] benutzen, geben Sie die Position entweder vollständig in ursprünglichen oder in skalierten Koordinaten an. Es kann jedoch sein, daß Sie manchmal eine Kombination dieser Koordinatensysteme benutzen müssen. Wenn Sie zum Beispiel eine Linie, deren Länge in einem definierten Verhältnis zur Breite des Diagrammes steht, an einem bestimmten Punkt zeichnen wollen, müssen Sie ursprüngliche Koordinaten zur Angabe der Grundposition der Linie und skalierte Koordinaten zur Angabe der Länge benutzen.

Mit Scaled[dsx, dsy, x, y] können Sie eine Position mit einer Mischung aus ursprünglichen und skalierten Koordinaten angeben. In diesem Fall gibt x, y eine Position in ursprünglichen Koordinaten und dsx, dsy liefert den Versatz der Position in skalierten Koordinaten.

Beachten Sie, daß Sie Scaled mit einem oder zwei Argumenten zur Angabe der Radien in Disk- und Circle-Grafikelementen benutzen können.

Als Versatz spezifizierte Positionen

Jede gezeichnete Linie hat eine absolute Länge von 6 Drucker-Punkten.

In[2]:= Show[Graphics[Table[
Line[{{x, x^2}, Offset[{0, 6}, {x, x^2}]}],
{x, 10}], Frame->True]]

Out[2]=

Mit Offset läßt sich innerhalb Circle auch ein Kreis mit einem bestimmten absoluten Radius erzeugen.

In[3]:= Show[Graphics[Table[
Circle[{x, x^2}, Offset[{2, 2}]],
{x, 10}], Frame->True]]

Out[3]=

Bei den meisten Grafikarten wollen Sie in der Regel, daß sich die relativen Positionen verschiedener Objekte automatisch anpassen, wenn Sie die Koordinaten oder die Gesamtgröße Ihrer grafischen Darstellung ändern. Mitunter wollen Sie jedoch, daß der Versatz von einem Objekt zu einem anderen fixiert sein soll. Dies kann zum Beispiel dann der Fall sein, wenn Sie einen Satz Diagramme erstellen, in dem gewisse Eigenschaften konsistent bleiben sollen, auch wenn die verschiedenen Diagramme verschiedene Formen haben.

Mit Offset[adx, ady, position] kann die Position eines Objektes durch Spezifikation eines absoluten Versatzes aus einer Position, die in ursprünglichen oder skalierten Koordinaten spezifiziert ist, angegeben werden. Der Versatz wird in der Einheit Drucker-Punkt, gleich Zoll, angegeben.

Wenn Sie Text in einem Diagramm angeben, wird die Größe der verwendeten Schrift auch in Drucker-Punkten angegeben. Eine 10-Punkt-Schrift hat deshalb zum Beispiel Buchstaben, deren Grundhöhe 10 Drucker-Punkte ist. Mit Offset können Sie Text in einem Diagramm herumbewegen und Diagramm-Symbole oder Ikonen erzeugen, die mit der Textgröße übereinstimmen.

Optionen, die die Umrechnung aus ursprünglichen in Anzeige-Koordinaten bestimmen

Wenn Mathematica ein Grafik-Objekt wiedergibt, muß es als eines der ersten Dinge den Bereich der ursprünglichen - und -Koordinaten, den es anzeigen soll, bestimmen. Alle grafischen Elemente außerhalb dieses Bereiches werden „abgeschnitten" und nicht gezeigt.

Die Option PlotRange gibt den Bereich der zu erfassenden ursprünglichen Koordinaten an. Wie im Abschnitt 1.9.3 beschrieben wurde, ist die Vorgabe-Einstellung PlotRange -> Automatic, in der Mathematica versucht, einen Bereich auszuwählen, der alle „interessanten" Teile eines Diagramms einbezieht, während „Ausreißer" herausfallen. Mit der Einstellung PlotRange -> All können Sie Mathematica mitteilen, alle Werte aufzunehmen. Sie können den Bereich der Koordinaten, die erfaßt werden sollen, auch explizit angeben.

Dies erstellt ein polygonales Objekt, dessen Ecken Koordinaten zwischen ungefähr haben.

In[4]:= obj = Polygon[
Table[{Sin[n Pi/10], Cos[n Pi/10]} + 0.05 (-1)^n,
{n, 20}]] ;

In diesem Fall füllt das polygonale Objekt fast den gesamten Darstellungsbereich aus.

In[5]:= Show[Graphics[obj]]

Out[5]=

Mit der Voreinstellung PlotRange -> Automatic wird der außenliegende Punkt zwar nicht miteinbezogen, aber er beeinflußt den ausgewählten Bereich der Koordinaten.

In[6]:= Show[ Graphics[{obj, Point[{20, 20}]}] ]

Out[6]=

Mit PlotRange -> All wird der außenliegende Punkt einbezogen, und das Koordinatensystem wird entsprechend modifiziert.

In[7]:= Show[%, PlotRange -> All]

Out[7]=

Mit der Option PlotRange können Sie einen rechteckigen Bereich im ursprünglichen Koordinatensystem angeben und alle grafischen Elemente weglassen, die außerhalb dieses Gebietes liegen. Um die verbleibenden Elemente wiederzugeben, muß Mathematica jedoch dann bestimmen, wie dieses rechteckige Gebiet bezüglich der endgültigen Darstellungsfläche positioniert werden soll.

Mit der Option PlotRegion können Sie angeben, wo die Ecken des rechteckigen Bereiches in der endgültigen Darstellungsfläche liegen sollen. Die Positionen der Ecken werden in skalierten Koordinaten angegeben, die nach Definition von 0 bis 1 auf der Darstellungsfläche variieren. Die Voreinstellung ist: PlotRegion -> {{0, 1}, {0, 1}}. Sie gibt an, daß der rechteckige Bereich die gesamte Darstellungsfläche ausfüllen soll.

Durch Angabe der PlotRegion können Sie Ihrem Diagramm „Randzonen" hinzufügen.

In[8]:= Plot[ArcTan[x], {x, 0, 10},
PlotRegion -> {{0.2, 0.8}, {0.3, 0.7}}]

Out[8]=

Spezifikation der Gestalt der Darstellungsfläche

Bisher wurde beschrieben, wie Mathematica die von ihnen angegebenen ursprünglichen Koordinaten in Positionen der endgültigen Darstellungsfläche übersetzt. Es bleibt noch zu beschreiben, was die endgültige Darstellungsfläche ist.

Auf den meisten Computersystemen existiert ein gewisser genau festgelegter Bereich des Bildschirms oder des Druckerpapiers, in den die Mathematica-Darstellungsfläche hineinpassen muß. Wie sie in diesen Bereich paßt, wird durch ihre „Gestalt" oder das Bildseitenverhältnis bestimmt. Im allgemeinen bestimmt die Option AspectRatio das Verhältnis von Höhe zu Breite der endgültigen Darstellungsfläche.

Es ist wichtig zu beachten, daß die Einstellung von AspectRatio nicht die Bedeutung der skalierten oder Anzeige-Koordinaten beeinflußt. Diese Koordinaten variieren immer von 0 bis 1 auf der Darstellungsfläche. AspectRatio verändert vielmehr die Form dieser Darstellungsfläche.

Dies erzeugt ein Grafik-Objekt, das einem Sechseck (Hexagon) entspricht.

In[9]:= hex = Graphics[Polygon[
Table[{Sin[n Pi/3], Cos[n Pi/3]}, {n, 6}] ]] ;

Dies gibt das Sechseck in einer Darstellungsfläche wieder, deren Höhe dreimal so groß wie ihre Breite ist.

In[10]:= Show[hex, AspectRatio -> 3]

Out[10]=

Bei zweidimensionaler Grafik wird AspectRatio in der Voreinstellung auf den festen Wert 1/GoldenRatio gesetzt. Manchmal möchten Sie jedoch das Bildseitenverhältnis für ein Diagramm mit dem im Diagramm benutzten ursprünglichen Koordinatensystem bestimmen. In der Regel wollen Sie, daß einer Einheit in der -Richtung im ursprünglichen Koordinatensystem derselbe Abstand für eine Einheit in der -Richtung im endgültigen Bild entspricht. Auf diese Art werden die von Ihnen im ursprünglichen Koordinatensystem definierten Objekte in ihrer „natürlichen Gestalt" gezeigt. Sie können dies erreichen, indem Sie die Option AspectRatio -> Automatic setzen.

Mit AspectRatio -> Automatic wird das Bildseitenverhältnis der endgültigen Darstellungsfläche vom ursprünglichen Koordinatensystem bestimmt, und das Sechseck wird in seiner „natürlichen Gestalt" gezeigt.

In[11]:= Show[hex, AspectRatio -> Automatic]

Out[11]=

Mit skalierten Koordinaten können Sie die Größe grafischer Elemente im Verhältnis zur Größe der Darstellungsfläche angeben. Jedoch können Sie Mathematica nicht die tatsächliche physische Größe mitteilen, mit der ein bestimmtes grafisches Element wiedergegeben werden soll. Natürlich hängt diese Größe letzten Endes von den Details Ihres Grafik-Ausgabegerätes ab und kann deshalb nicht sicher innerhalb von Mathematica bestimmt werden. Dennoch können Sie mit Grafikanweisungen wie AbsoluteThickness (siehe Abschnitt 2.9.3) „absolute Größen" für bestimmte Grafik-Elemente angeben. Die Größen, die Sie so anfordern, werden von den meisten, aber nicht von allen, Ausgabegeräten respektiert. (Wenn Sie beispielsweise ein Bild optisch projizieren, ist es weder möglich noch wünschenswert, dieselbe absolute Größe für ein grafisches Element darin beizubehalten.)

Grafikanweisungen und OptionenBeschriftung zweidimensionaler Grafik