pgfplotstable - Fehler beim Transponieren einer CSV-Tabelle, die von der Festplatte gelesen wird

pgfplotstable - Fehler beim Transponieren einer CSV-Tabelle, die von der Festplatte gelesen wird

Ich möchte eine CSV-Datei von der Festplatte lesen und dann die gelesene Tabelle transponieren. Wenn ich die Tabelle in meinem Dokument erstelle, gibt es kein Problem mit dem pgfplotstabletransposeBefehl. Wenn ich jedoch versuche, die Datei von der Festplatte zu lesen, erhalte ich einen Fehler als

Paket-pgfplots-Fehler: Leider konnte die Spalte „Label“ nicht aus der Tabelle „attachments/paper_survey.csv“ abgerufen werden. Bitte überprüfen Sie die Rechtschreibung (oder geben Sie Namensaliase ein).

Das ist mein MWE:

\documentclass[]{article}
\usepackage{pgfplots,pgfplotstable}
\begin{document}

\pgfplotstableread[col sep=semicolon]{% Read the data into a table macro
Label;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O
Yes;0.00;0.20;0.00;0.26;0.11;0.00;;0.49;0.14;0.31;0.03;0.60;0.06;0.06;0.00
No;1.00;0.80;1.00;0.74;0.89;1.00;;0.51;0.86;0.69;0.97;0.40;0.94;0.94;0.00
High;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.26
Medium;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.21
Low;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.53
}\datatable

% \pgfplotstableread[col sep = semicolon]{attachments/paper_survey.csv}\datatable

\pgfplotstabletranspose[string type,
    colnames from=Label,
    input colnames to=Label
]\datatabletransposed{\datatable}

\end{document}

Wie kann ich das beheben?

Antwort1

Ich habe kein Problem damit, Ihre Daten aus dem Unterordner Anhänge auszuführen

Möglicherweise möchten Sie die "G"-Werte überprüfen, da ein leerer Ja/Nein-Slot vorhanden war und die "O"-Werte 0 sind

Überprüfen Sie noch einmal, ob Ihr Unterordner/Dateiname korrekt ist, da diese Kombination bei mir funktioniert hat

mainTeXfolder/attachments/paper_survey.csv

Label;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O
Yes;0.00;0.20;0.00;0.26;0.11;0.00;0.0;0.49;0.14;0.31;0.03;0.60;0.06;0.06;0.00
No;1.00;0.80;1.00;0.74;0.89;1.00;0.0;0.51;0.86;0.69;0.97;0.40;0.94;0.94;0.00
High;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.26
Medium;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.21
Low;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.53

Bildbeschreibung hier eingeben

Da Sie keine Plotmethode ausgewählt haben, habe ich dieselbe Methode wie bei einer früheren Frage verwendet.

\documentclass[]{article}
\usepackage{pgfplots,pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\pgfplotstableread[col sep = semicolon]{attachments/paper_survey.csv}\datatable

\begin{tikzpicture}
\pgfplotstabletranspose[string type, colnames from=Label, input colnames to=Label]\datatabletransposed{\datatable}
\begin{axis}[
    xbar stacked, % Stacked horizontal bars
    xmin=0, % Start x axis at 0
    ytick=data, % Use as many tick labels as y coordinates
    yticklabels from table={\datatabletransposed}{Label} % Get the labels from the Label column of the \datatable
]
\addplot [fill=green!70!blue] table [x=Yes, y expr=\coordindex] {\datatabletransposed};
\addplot [fill=red!70!blue] table [x=No, y expr=\coordindex] {\datatabletransposed};
\end{axis}
\end{tikzpicture}

\end{document}

verwandte Informationen