如何在pgfplotstable
表格形式输入文件中制作表格
AB 1.0 20 1.1 21 1.2 22 1.3 23 1.4 24
看起来像这样:
我尝试使用\pgfplotstabletranspose\loadedtable{input.dat} \pgfplotstabletypeset\loadedtable
,但列名 (A 和 B) 解析为浮点数(并给出错误)。并且列名计数从 0 开始(我需要从 1 开始)。
而且是否可以打破(连字符)大的水平表?
答案1
A 和 B 列的错误来自于pgfplotstables
除非另有说明,否则需要数值数据。要使列处理字符串,您必须设置columns/colnames/.style={string type}
。
为了使索引从一开始,我建议动态创建一个新列并将其用作带有键的列名colnames from=<name>
。
以下是 MWE:
\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\begin{filecontents}{testdata.dat}
A B
1.0 20
1.1 21
1.2 22
1.3 23
1.4 24
\end{filecontents}
\begin{document}
\pgfplotstableset{
create on use/index/.style={%
create col/assign/.code={%
\pgfmathtruncatemacro\entry{\pgfplotstablerow+1}%
\pgfkeyslet{/pgfplots/table/create col/next content}{\entry}
}
}
}
\pgfplotstabletranspose[colnames from=index]\loadedtable{testdata.dat}
\pgfplotstabletypeset[
columns/colnames/.style={
string type,
column name={\#}
}
]\loadedtable
\end{document}