Hallo,

wie schon bei meiner ersten Frage geht es um das folgende 3D-Plot: alt text

Ich würde nun gerne die Beschriftung an einem Node, in diesem Fall: $J(\xi_{j},1,N-3)$, verschieben, jedoch etwas präziser als mit <below>/<above> <left>/<right> möglich ist.

Wie muss ich da vorgehen? Siehe auch diesen Thread, in dem auch der Code zu finden ist: 3D-Plot. Achsen-Ticks manuell beschriften und Sonderzeichen

Danke.

gefragt 04 Feb '15, 15:00

roadrunner_ac's gravatar image

roadrunner_ac
59513
Akzeptiert: 44%

bearbeitet 04 Feb '15, 16:14

esdd's gravatar image

esdd
14.2k53251


Als Minimalbeispiel verwende ich einen gegenüber 3D-Plot. Achsen-Ticks manuell beschriften und Sonderzeichen etwas reduzierten Code. Und ich gehe davon aus, dass Du zweidimensional verschieben möchtest, also direkt angeben möchtest, um wie viele Millimeter das Label horizontal oder vertikal verschoben werden soll.

Open in Online-Editor
\documentclass[tikz,margin=10pt]{standalone}
\begin{document}
\begin{tikzpicture}[>=latex,
  x={(0.7cm,0.7cm)},y={(1cm,0cm)}, z={(0cm,1cm)},
  punkt/.style={circle,draw,fill=#1,inner sep=0pt,minimum size=9pt},
  punkt/.default=white,
  nummer/.style={},
  %% Zum Einblenden der Koordinatennummern
  %nummer/.style={label={[red,font=\tiny,label distance=2mm]below:#1}}
  ]
% zweidimensionales Gitter
\draw[very thin, lightgray,step=1mm](0,0)grid(3cm,4cm);
% Achsen
\draw[->] (0,0,0) -- (4,0,0) node[above]{$S$};
\draw[->] (0,0,0) -- (0,4,0) node[below,align=left]{Zwischen-\\schritte};
\draw[->] (0,0,0) -- (0,0,4) node[left]{$\xi$};
% Achseneinteilung
\newcommand\xcoords{{1,2,3}}\newcommand\imax{2}
\newcommand\ycoords{{0,1,4.5}}\newcommand\jmax{2}
\newcommand\zcoords{{0,2.5,5}}\newcommand\kmax{2}
% Gitterpunkte benennen
\foreach[evaluate={\x=\xcoords[\i]}] \i in {0,...,\imax}
  \foreach[evaluate={\y=\ycoords[\j]}] \j in {0,...,\jmax}
    \foreach[evaluate={\z=\zcoords[\k]}] \k in {0,...,\kmax}
      \coordinate[nummer=\i\j\k](c\i\j\k)at(\x,\y,\z);
%%% -------------------------------------------------------------------------------
\begin{scope}[node font=\scriptsize]
  % Punkte einzeichnen
  \node[punkt=lightgray,
    label=above:{$J(\xi_{j},1,N-4)$}
    ](p011)at(c011){?};
\end{scope}
\end{tikzpicture}
\end{document}

alt text

Um das Verschieben zeigen zu können, habe ich ein zweidimensionales Gitter eingefügt:

Open in Online-Editor
% zweidimensionales Gitter
\draw[very thin, lightgray,step=1mm](0,0)grid(3cm,4cm);

Durch die Angabe in cm wird das Gitter tatsächlich mit einer Breite von 3cm und einer Höhe von 4cm gezeichnet. Würde ich die Einheiten weglassen, dann würde das Gitter bis zu dem Punkt gezeichnet, der der Summe aus 3x Deinem x Richtungsvektor und 4x Deinem y Richtungsvektor entspricht. Mit der Angabe von step=1mm verhält es sich ähnlich.

Für das Verschieben des Labels kann man die Optionen xshift oder/und yshift nutzen. Diese Verschiebungen müssen mit einer Einheit angegeben werden. Fehlt diese wird pt verwendet. Entsprechend verschiebt xshift tatsächlich horizontal und yshift vertikal.

Open in Online-Editor
  \node[punkt=lightgray,
    label={[gray]above:{$J(\xi_{j},1,N-4)$}},
    label={[yshift=2mm,orange]above:{$J(\xi_{j},1,N-4)$}},% 2mm nach oben
    label={[xshift=-2mm,purple]above:{$J(\xi_{j},1,N-4)$}},% 2mm nach links
    ](p011)at(c011){?};

alt text

Beides lässt sich natürlich auch kombinieren:

Open in Online-Editor
  \node[punkt=lightgray,
    label={[gray]above:{$J(\xi_{j},1,N-4)$}},
    label={[xshift=-2mm,yshift=2mm,orange]above:{$J(\xi_{j},1,N-4)$}},% je 2mm nach oben und links 
    ](p011)at(c011){?};

alt text

Statt xshift=-2mm,yshift=2mm ließe sich auch shift={(-2mm,2mm)} mit dem gleichen Ergebnis verwenden.


Wird allerdings bei shift={(...)} auf die Angabe von Einheiten verzichtet, dann werden die von Dir definierten x, y und, bei Angabe von drei Koordinaten, auch der z Richtungsvektor als Einheit verwendet. Damit wäre dann dreidimensionales Verschieben möglich.

Open in Online-Editor
  \node[punkt=lightgray,
    label={[gray]above:{$J(\xi_{j},1,N-4)$}},
    label={[shift={(-2mm,2mm)},orange]above:{$J(\xi_{j},1,N-4)$}},% je 2mm nach oben und links
    label={[shift={(-2,2)},purple]above:{$J(\xi_{j},1,N-4)$}},% je 2 Einheiten in x- und y-Richtung
    ](p011)at(c011){?};

alt text

Permanenter link

beantwortet 04 Feb '15, 16:12

esdd's gravatar image

esdd
14.2k53251

bearbeitet 04 Feb '15, 16:21

Herzlichen Dank!!!!

(04 Feb '15, 21:09) roadrunner_ac
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×19
×9

Frage gestellt: 04 Feb '15, 15:00

Frage wurde angeschaut: 2,041 Mal

Zuletzt aktualisiert: 04 Feb '15, 21:09