Я хочу прочитать CSV-файл с диска, а затем транспонировать прочитанную мной таблицу. Когда я создаю таблицу в своем документе, проблем с pgfplotstabletranspose
командой не возникает. Однако, когда я пытаюсь прочитать файл с диска, я получаю ошибку
Ошибка пакета pgfplots: Извините, не удалось получить столбец «Label» из таблицы «attachments/paper_survey.csv». Проверьте орфографию (или введите псевдонимы имен)..
Это мой 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}
Как я могу это исправить?
решение1
У меня нет проблем с запуском ваших данных из подпапки вложений
Возможно, вам захочется проверить значения «G», поскольку там был пустой слот «да/нет», а значения «O» равны 0.
Дважды проверьте правильность имени подпапки/файла, так как эта комбинация сработала у меня
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
Поскольку вы не выбрали метод построения сюжета, я использовал тот же, что и в предыдущем вопросе.
\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}