Geschlossen: Ich glaube, das geht nicht. https://sourceforge.net/p/pgfplots/bugs/193/


Für einen patch plot mit (sehr) umfangreichen Tabellen habe ich eine Tabelle Kantenverbindungsdaten und eine Koordinatentabelle; letztere wird zweimal gebraucht, einmal zur Zeichnung der Punkte, einmal zur Beschriftung (nodes near coords).

Die Tabellen auslagern mit filecontents will pgfplots nicht haben, sofern row sep=\\ vorkommt (was hier scheints gebraucht wird...).

Also dachte ich an die Verwendung von \usepackage{pgfplotstable}, etwa

Öffne in Overleaf
% Geht nicht ==========================
\pgfplotstableread[header=true, row sep=\\] {
Nr x y Textposition     \\
1 2 2    north                     \\%0
1 2 2    north                     \\%1
2 0 1    south                       \\%2
3 0 0    north                      \\%3
}\Koordinatentabelle

und dann an den zwei benötigten Stellen nur noch

table[header=true, x index=1, y index=2, row sep=\\] {\Koordinatentabelle}

Wie muss ich das richtig machen?

alt text

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

\begin{document}

% Geht nicht ==========================
%\pgfplotstableread[header=true, row sep=\\] {
%Nr x y Textposition     \\
%1 2 2    north                     \\%0
%1 2 2    north                     \\%1
%2 0 1    south                       \\%2
%3 0 0    north                      \\%3
%}\Koordinatentabelle
%
%\pgfplotstableread[header=true, row sep=\\] {
%Startpkt Endpkt colordata \\ 
%1 1 \\ 
%2 1 \\ 
%3 1 \\
%}\Kantentabelle

% ===========================

\begin{tikzpicture}
\begin{axis}[hide axis]

% Koordinaten und Kantenverbindungen ===========
\addplot+[
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 \\ 
1 1 \\ 
2 1 \\ 
3 1 \\
}
] table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y Textposition     \\
1 2 2    north                     \\%0
1 2 2    north                     \\%1
2 0 1    south                       \\%2
3 0 0    north                      \\%3
};

% Beschriftungen ===========
\addplot[only marks,
visualization depends on={value \thisrowno{3} \as \Anker},
visualization depends on={value \thisrowno{0} \as \punktnummer},
nodes near coords={\punktnummer},
every node near coord/.append style={anchor=\Anker}
] table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y Textposition     \\
1 2 2    north                     \\%0
1 2 2    north                     \\%1
2 0 1    south                       \\%2
3 0 0    north                      \\%3
};

\end{axis}
\end{tikzpicture}

\end{document}

gefragt 18 Sep, 10:32

cis's gravatar image

cis
8.5k16174276
Akzeptiert: 68%

bearbeitet 18 Sep, 13:57

Mir ist leider (mal wieder) nicht ganz klar, was die Frage ist. Allerdings hatte ich auch mal das Problem, eine "neue" Tabelle aus bestehenden Daten zusammenbasteln zu müssen. Tatsächlich gab es da Dinge, von denen man naiv erwartet hätte, dass sie funktionieren sollten, die aber leider dann nicht funktioniert haben. Am Ende hatte ich diese komplizierte Lösung. Vielleicht hilft es ja, dort nachzuschlagen (und vielleicht Deine Frage dahingehend zu überarbeiten, dass klar ist, was Wesentlich ist, und was nur ein Seitenkommentar ist).

(18 Sep, 11:56) Murmeltier

Ich fange mit einer einfacheren Frage an.

(18 Sep, 12:19) cis

@cis Kannst Du evtl. Fragen/Probleme isolieren? Falls hier z.B. patchplots nicht relevant ist, gleich ohne, reduziert auf dem Kern. Das macht es vllt. unkomplizierter nachzuvollziehen. Bei der Reihung patchplots-Fragen seh ich schon auch kaum noch durch. ;-)

(18 Sep, 12:24) stefan ♦♦

Das versuche ich gerade in einer anderen Frage. Ich fürchte allerdings, da der patch plot bzw. die patch table with point meta eine gewisse Eigendynamik hat, kann ich hier kein kürzeres MWE angeben.

(18 Sep, 12:26) cis

Die Frage wurde aus folgenden Grund geschlossen: "Geschlossen: Ich glaube, das geht nicht. https://sourceforge.net/p/pgfplots/bugs/193/" durch cis 18 Sep, 13:57

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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

Zugeordnete Themen:

×263
×216
×37
×8

Frage gestellt: 18 Sep, 10:32

Frage wurde angeschaut: 224 Mal

Zuletzt aktualisiert: 18 Sep, 13:57