Wenn ich eine Tabelle

Öffne in Overleaf
table[header=true, row sep=\\] {
x y Text           \\
0 2 bleibt              \\%0
2 2                     \\%1
0 1                   \\%2
0 0 bleibt.auch             \\%3
1 0                   \\%4
2 0               \\%5
2 0                 \\%
1 1                  \\%7
};

plotte, dann muss

  1. in der obersten Zeile ein Wert angebeben werden (sonst Fehlermeldung);
  2. dieser Wert wird dann auch für in der 'Text-Spalte' leere Zeilen übernommen (solange bis dort etwas neues steht, dann wird dieser Wert übernommen)

Frage: Was kann ich tun, damit visualization depends on={value \thisrowno{2} \as \Text} nur dann etwas liefert, wenn in \thisrowno{2} auch ein Eintrag steht, sonst leer bleibt?

alt text

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

\begin{document}

\begin{tikzpicture}
\begin{axis}[hide axis]
\addplot+[only marks,
visualization depends on={value \thisrowno{2} \as \Text},
nodes near coords={\coordindex ~Text: \Text},
every node near coord/.append style={font=\scriptsize}
]
table[header=true, row sep=\\] {
x y Text           \\
0 2 bleibt              \\%0
2 2                     \\%1
0 1                   \\%2
0 0 bleibt.auch             \\%3
1 0                   \\%4
2 0               \\%5
2 0                 \\%
1 1                  \\%7
};
\end{axis}
\end{tikzpicture}

\end{document}

gefragt 29 Aug '18, 13:14

cis's gravatar image

cis
9.4k23256465
Akzeptiert-Rate: 29%

bearbeitet 29 Aug '18, 13:16


Gib in den leeren Zellen {} ein.

Nicht relevant für die Frage, aber ansonsten wichtig: setze immer compat.

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

\begin{document}

\begin{tikzpicture}
\begin{axis}[hide axis]
\addplot+[only marks,
visualization depends on={value \thisrowno{2} \as \Text},
nodes near coords={\coordindex ~Text: \Text},
every node near coord/.append style={font=\scriptsize}
]
table[header=true, row sep=\\] {
x y Text        \\
0 2 bleibt      \\%0
2 2 {}          \\%1
0 1 {}          \\%2
0 0 bleibt.auch \\%3
1 0 {}          \\%4
2 0 {}          \\%5
2 0 {}          \\%
1 1 {}          \\%7
};
\end{axis}
\end{tikzpicture}

\end{document}

alt text

Permanenter link

beantwortet 29 Aug '18, 14:02

esdd's gravatar image

esdd
15.9k164055
Akzeptiert-Rate: 63%

bearbeitet 05 Sep '18, 02:32

Henri's gravatar image

Henri
14.6k53340

Ok. Puh, damit wird die (extern erstellte) Datentabelle ein Stück mehr "LaTeX-lastig"; so wie z.B. dieses row sep=\\ manchmal scheints notwendig ist (hier noch nicht). Ich hatte gehofft, man kann das ggf. global lösen.

(29 Aug '18, 14:39) cis
Deine Antwort
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:

×279
×71

gestellte Frage: 29 Aug '18, 13:14

Frage wurde gesehen: 1,587 Mal

zuletzt geändert: 05 Sep '18, 02:33