Wie kann ich in einer Tabelle zum Beispiel die Nullen durch die Bezeichnung im jeweiligen Kopf ersetzen? Mit Öffne in Overleaf
\documentclass[border=5pt]{standalone} \usepackage{pgfplotstable} \pgfplotstableread{ A B 1 2 0 2 1 0 0 2 0 2 1 0 }\test \begin{document} \pgfplotstabletypeset[string type, %string replace={0}{aaa} ]{\test} \end{document} gefragt 18 Okt '18, 13:22 cis |
Also meine Lösung wäre die Folgende: Öffne in Overleaf
% Nullen ersetzen \pgfplotsinvokeforeach{0,1} {% \pgfplotstableset{ columns/#1/.style = { string replace={0}{\pgfplotstablegetelem{0}{[index]#1}\of\test \pgfplotsretval} }}}% Das Unelegante daran ist, dass man Öffne in Overleaf
\documentclass[border=5pt]{standalone} \usepackage{pgfplotstable} \pgfplotstableread[header=false]{ A B 1 2 0 2 1 0 0 2 0 2 1 0 }\test \begin{document} % Nullen ersetzen \pgfplotsinvokeforeach{0,1} {% \pgfplotstableset{ columns/#1/.style = { string replace={0}{\pgfplotstablegetelem{0}{[index]#1}\of\test \pgfplotsretval} }}}% \pgfplotstabletypeset[string type, skip rows between index={0}{1},% Benennungszeile ausblenden every head row/.style={output empty row},% keinen header anzeigen ]{\test} %Test: \pgfplotstablegetelem{0}{[index]0}\of\test \pgfplotsretval %\pgfplotstablegetelem{0}{[index]1}\of\test \pgfplotsretval \end{document} beantwortet 19 Okt '18, 20:33 cis |
Vorschlag, der aber zusätzlich Öffne in Overleaf
\documentclass[border=5pt]{standalone} \usepackage{pgfplotstable} \pgfplotsset{compat=newest} \pgfplotstableread{ A B 1 2 0 2 1 0 0 2 0 2 1 0 }\test \pgfplotstablegetcolsof{\test} \pgfmathtruncatemacro\colmax{\pgfplotsretval-1} \usepackage{expl3} \ExplSyntaxOn \int_step_inline:nnnn {0}{1}{\colmax} { \pgfplotstablegetcolumnnamebyindex{#1}\of\test\to\colname \pgfplotstablemodifyeachcolumnelement{\colname}\of\test\as\cell {\pgfmathparse{\cell==0?"\colname":\cell}\xdef\cell{\pgfmathresult}} } \ExplSyntaxOff \begin{document} \pgfplotstabletypeset[string type]{\test} \end{document} beantwortet 19 Okt '18, 19:31 esdd Boah, also doch ein "Low Level Hack" (ich glaube so nennt man das...). Ich hatte jetzt versucht etwas schleifenartiges hiermit [wie-wende-ich-bei-pgfplotstable-column-type-befehle-auf-eine-auswahl-von-spalten-an] zu basteln. Tut an sich schon, aber ich bekomme immer nur das letzte Schleifenelement. :(
(19 Okt '18, 19:46)
cis
Achso, also so gehts:
Das ist natürlich nicht so elegant, weil man "
(19 Okt '18, 20:24)
cis
expl3 in einer esdd Antwort ;-). Fängst du an, dich damit anzufreunden?
(20 Okt '18, 11:36)
Ulrike Fischer
Ich habe jetzt meine Lösung prioritätisiert, weil sie mit Mitteln des Paketes auskommt.
(21 Okt '18, 22:58)
cis
|
meiner Ansicht nach verwendest du das falsche Paket. pgfplotstable ist für das Drucken von Tabellen. Ich musste letztes Jahr ein größeres Projekt, das darauf baute, überarbeiten und denke, dass man all deine Wünsche wohl irgendwie hinbekommen kann, dass es aber zuviel Zeit kostet, die richtige Optionkombination hinzubekommen, und dass es schnell unübersichtlich und fehlerträchtig wird.
Ich finde
pgfplotstable
ist schon auch ein praktisches Werkzeug zum Manipulieren von Tabellen. Sehr mächtig, aber teils nicht einfach zu bedienen. Wird m.E. viel zu selten verwendet.wird schon seinen Grund haben ... ich zumindest ziehe es vor Datenverarbeitung und Datenrepräsentation sauberer zu trennen.
Nene, das muss schon dringend mit pdfplotstable gemacht werden (sonst hätte ich allgemein nach Tabellenmanipulation gefragt); weil das ist 1/3 Applets - die vielleicht insgesamt mal ein Paket geben könnten, wer weiß...
PS: Ja, das ist eben auch geil, das mit pgfplotstable umzusetzen... Schade ist nur, dass das scheints nur als "Low Level Hack" geht...