Ich möchte bei einer Tabelle die Spaltenbenennung (x y p q) aussparen und selbst festlegen.

Ich dachte, das geht mit columns/2/.style = {column name=p}. Scheinbar ist es nicht ganz so einfach. Was muss ich da anders machen?

Öffne in Overleaf
%\documentclass[]{article}
\documentclass[border=3pt, varwidth]{standalone}
\usepackage{pgfplots}
 \pgfplotsset{width=7cm,compat=1.13}

% Tabelle des Typs
% x  y  p  q 
\pgfplotstableread{
1   2   2   5
1   3   7   1
8   2   3   1
9   5   3   6
}\datatable

\begin{document}

\begin{tikzpicture}
\begin{axis}[ymin=0]
\addplot table [
%header=false, 
% columns 0 und 1 werden autom. als x- und y-Koordinaten gewertet
columns/2/.style = {column name=p},
columns/3/.style = {column name=q},
%
%x=p, y=q    % Wieso geht das nicht?
%x=\thisrow{p}, y=\thisrow{q}    % Wieso geht das nicht?
%
] {\datatable}; 
\end{axis}
\end{tikzpicture}

\end{document}

gefragt 18 Jan, 12:13

cis's gravatar image

cis
6.4k11141232
Akzeptiert: 71%

bearbeitet 18 Jan, 12:58


Die Styles column/<column id>/.style werden ausschliesslich in \pgfplotstabletypeset und verwandten routinen verwendet und sind nicht direkt zugaenglich innerhalb von \addplot table.

Im Kontext von \addplot table kannst Du nur auf die Spaltennamen, wie sie beim Laden der Tabelle vorhanden waren, zugreifen oder aber mittels x index=<spaltenindex> auf indices. Wenn beim Laden einer Tabelle keine Spaltennamen erkannt wurden, sind Spaltennamen und Spaltenindices gleich, d.h. Du koenntest hier x=2, y=3 verwenden.

Du kannst allerdings eine symbolische Verbindung ausserhalb von pgfplots mit TeX bordmitteln herstellen, bspw mit \def\p{2}:

Öffne in Overleaf
\documentclass[border=3pt, varwidth]{standalone}
\usepackage{pgfplots}
 \pgfplotsset{width=7cm,compat=1.13}

% Tabelle des Typs
% x  y  p  q 
\pgfplotstableread{
1   2   2   5
1   3   7   1
8   2   3   1
9   5   3   6
}\datatable

\def\p{2}
\def\q{3}

\begin{document}

\begin{tikzpicture}
\begin{axis}[ymin=0]
\addplot table [
    x=\p, y=\q
%
] {\datatable}; 
\end{axis}
\end{tikzpicture}

\end{document}

Hier bekommt pgfplots das ueberhaupt nicht mit.

Permanenter link

beantwortet 20 Jan, 06:54

cfeuersaenger's gravatar image

cfeuersaenger
1.2k23

Deine Antwort auf die Frage (nicht auf andere Antworten)
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:

×226

Frage gestellt: 18 Jan, 12:13

Frage wurde angeschaut: 196 Mal

Zuletzt aktualisiert: 20 Jan, 06:54