https://tex.stackexchange.com/questions/457101/pgfplotstable-how-to-get-column-name-with-pgfkeysgetvalue


In einer Tabelle

\pgfplotstableread[header=true]{ A B 0 0 -1 1 3 2 }\test

sollen A bzw. B als column names verwendet werden.

Mit assign column name/.code=\pgfkeyssetvalue{/pgfplots/table/column name}{#1 irgendwas} kann ich das festlegen.

Doch wie kann ich nun mit \pgfkeysgetvalue{/pgfplots/table/column name}{\Name} \Name wieder darauf zugreifen?

Folgendes MWE funktioniert nicht:

alt text

Öffne in Overleaf
\documentclass[border=5pt, varwidth]{standalone}
\usepackage{pgfplotstable}

\begin{document}
\pgfplotstableread[header=true]{
A  B
0  0 
-1  1 
3  2 
}\test

\pgfplotstabletypeset[string type, 
assign column name/.code=\pgfkeyssetvalue{/pgfplots/table/column name}{#1 hhh},
display columns/0/.style={
postproc cell content/.style={@cell content={##1 
\pgfplotstableset{columns/0/.try}%
\pgfkeysgetvalue{/pgfplots/table/column name}{\Name} \Name%
}}
},
]{\test}

\end{document}




€dit: Da die erste Problembeschreibung noch einigermaßen übersichtlich ist, wollte ich sie nicht löschen, daher als Edit.

Die column names stehen in der head row. Daher habe ich einmal every head row/.style={...} bemüht und die default implementation im Handbuch S.22 rausgesucht:

Allerdings liefert mir

every head row/.style={ typeset cell/.code={%% \ifnum\pgfplotstablecol=\pgfplotstablecols% \pgfkeyssetvalue{/pgfplots/table/column name}{##1} % %\pgfkeyssetvalue{/pgfplots/table/@cell content}{Name: ##1\\}% \else% \pgfkeyssetvalue{/pgfplots/table/column name}{##1} % %\pgfkeyssetvalue{/pgfplots/table/@cell content}{Name: ##1 &}% \fi% }%% },

immer nur den zuletzt gesetzten column name - irgendetwas fehlt....

alt text

Öffne in Overleaf
\documentclass[border=5pt, varwidth]{standalone}
\usepackage{pgfplotstable}

\begin{document}
\pgfplotstableread[header=true]{
A  B
0  0 
-1  1 
3  2 
}\test

\pgfplotstabletypeset[string type, 
every head row/.style={
typeset cell/.code={%% 
\ifnum\pgfplotstablecol=\pgfplotstablecols%
\pgfkeyssetvalue{/pgfplots/table/column name}{##1} %
%\pgfkeyssetvalue{/pgfplots/table/@cell content}{Name: ##1\\}%
\else%
\pgfkeyssetvalue{/pgfplots/table/column name}{##1} %
%\pgfkeyssetvalue{/pgfplots/table/@cell content}{Name: ##1 &}%
\fi%
}%%
},
% Wofür? ====================
%assign column name/.code=\pgfkeyssetvalue{/pgfplots/table/column name}{#1 hhh},
% ========================
display columns/0/.style={
postproc cell content/.style={@cell content={##1 in Spalte:
\pgfkeysgetvalue{/pgfplots/table/column name}{\Name} \Name%
}}
},
display columns/1/.style={
postproc cell content/.style={@cell content={##1 in spalte 
\pgfkeysgetvalue{/pgfplots/table/column name}{\name} \name%
}}
},
]{\test}

\end{document}

gefragt 27 Okt, 14:35

cis's gravatar image

cis
8.3k16171267
Akzeptiert: 68%

bearbeitet 28 Okt, 12:37

Sei der Erste, der diese Frage beantwortet!
Knebel-Vorschau

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:

×37

Frage gestellt: 27 Okt, 14:35

Frage wurde angeschaut: 87 Mal

Zuletzt aktualisiert: 28 Okt, 12:37