TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

alt text

Angelehnt an das Handbuch pgfplots 1.16, letzte Beispiel vor Abschnitt 5.9.2. habe hier eine Wertetabelle

Öffne in Overleaf
Nr. x y \\
0 0 2 \\%0
1 2 2 \\%1
2 0 1 \\%2
3 0 0 \\%3
...

in der ich in einem umfunktionierten patch plot die Verbindungslinien Zeichne

Öffne in Overleaf
patch table with point meta={%
Startpkt Endpkt colordata \\%colordata weglassen, dann vermutl. autom. 0
1 2 \\% 
1 0 \\
1 7 \\
2 4  \\
....
7 7 \\ % Kein Strich
}

Frage: Warum muss ich hierbei, wie im Handbuch die Beschriftungen durch einen Extraplot ergänzen und kann dies nicht im 1. eigentlichen Plot machen?

Öffne in Overleaf
% replicate the vertex list to show \coordindex:
\addplot[only marks,    nodes near coords=\coordindex, ]
table[row sep=\\] {
0 2 \\%0
2 2 \\%1
.....
1 1 \\%7
};

Wenig Hoffnung auf eine AW, wenn das bereits im Handbuch so gemacht wird, aber vll. hat ja jmd. eine Idee.

Vollständiges MWE:

Öffne in Overleaf
\documentclass[margin=5mm, tikz]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{patchplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
colormap={Kantenfarbe}{color=(gray) color=(gray)},
]
\addplot+[
% Punkte
mark size=1.125pt, mark options={red}, 
% Kanten
thick, 
% Beschriftung
% visualization depends on={{aaa}  \as \test},
%nodes near coords=\coordindex, % TUT -hier- NICHT ?!
table/row sep=\\, % Muss wohl so sein!?
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
patch table with point meta={%
Startpkt Endpkt colordata \\%colordata weglassen, dann vermutl. autom. 0
1 2 \\% 
1 0 \\
1 7 \\
2 4  \\
3 4  \\
4 6  \\
5 4  \\
6 4 \\
7 7 \\ % Kein Strich
}
]
table[header=true, x index=1, y index=2] {
Nr. x y \\
0 0 2 \\%0
1 2 2 \\%1
2 0 1 \\%2
3 0 0 \\%3
4 1 0 \\%4
5 2 0 \\%5
6 2 0 \\%6
7 1 1 \\%7
};
% replicate the vertex list to show \coordindex:
\addplot[only marks,
nodes near coords=\coordindex,
every node near coord/.append style={
%text=blue
},
]
table[header=true, x index=1, y index=2] {
Nr. x y \\
0 0 2 \\%0
1 2 2 \\%1
2 0 1 \\%2
3 0 0 \\%3
4 1 0 \\%4
5 2 0 \\%5
6 2 0 \\%6
7 1 1 \\%7
};
\end{axis}
\end{tikzpicture}

\end{document}

gefragt 28 Aug '18, 17:16

cis's gravatar image

cis
9.3k21214368
Akzeptiert-Rate: 29%

bearbeitet 16 Sep '18, 15:44

Sehe ich das richtig, dass die letzte Tabelle nur eine truncation der zweiten ist, d.h. Du könntest die zweite recyclen?

(29 Aug '18, 00:06) Gelöscht

Ja, das ist einfach nochmal die Wiederholung der Koordinaten.

(29 Aug '18, 00:10) cis

Man müsste irgendwas mit ifthenelse programmieren. Wenn die node near coords schon gesetzt wurde nicht nochmal gesetzt wird. Mal schauen, ob ich das hinkriege.

(16 Sep '18, 18:00) cis

Theoretisch irgendwie sowas, tut nur leider nicht.

nodes near coords={% \foreach \t in {1,2,3,...,10}{%%% natürliche Zahlenfolge \pgfmathsetmacro{\u}{0}% \foreach \x in {\punktnummer}{% zu testende Zahlen \ifx \x\t% \global\let\u=\t% \fi% }% \ifx \u\t% {\t}% \else{}% Leer \fi% }%%% }

(16 Sep '18, 19:06) cis
1

Sowas kannst Du im Prinzip schon machen, nur dass Du die nodes near coords meines Wissens nicht mit einem code füttern kannst, zumindest nicht auf diese Weise. Du kannst Dir einen Code definieren mit \pgfplotsset{cis Magie/.code={...}}, wo Du sowas wie oben eintragen kannst (nur dass ich \ifnum verwenden würde), und dann every node near coord/.append style={ /pgfplots/cis Magie },sagen. Und jetzt musst Du natürlich das Ergebnis des codes an die nodes near coords kommunizieren, anstatt Leer kannst Du evtl. \pgfkeysalso{opacity=0} nehmen...

(17 Sep '18, 01:05) Gelöscht
Das erste sein, diese Frage zu beantworten!
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×273
×69
×8
×5

gestellte Frage: 28 Aug '18, 17:16

Frage wurde gesehen: 845 Mal

zuletzt geändert: 17 Sep '18, 01:05