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 '18, 18:13

cis's gravatar image

cis
9.5k75452491
Akzeptiert-Rate: 29%

bearbeitet 18 Jan '18, 18: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 '18, 12:54

cfeuersaenger's gravatar image

cfeuersaenger
3.7k23
Akzeptiert-Rate: 34%

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:

×296

gestellte Frage: 18 Jan '18, 18:13

Frage wurde gesehen: 4,668 Mal

zuletzt geändert: 20 Jan '18, 12:54