表转置

表转置

尝试像在我的 MWE 中一样转置表格。结果很不错,但包含第一个额外的行,我想将其排除。阅读 pgf 手册,使用 skip 之间的行index={}{},但没有效果。如何删除第一个额外的行(colnames等等...)?

\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}
\begin{document}

\pgfplotstableread{
N    Ans
1   -36
2    33
3   -52
4   -22
5    33
6    38
7    48
8  -100
}\mytable

\pgfplotstabletranspose[string type]\mytablenew{\mytable}

\pgfplotstabletypeset[string type]{\mytablenew}
\end{document}

答案1

您可以在打印转置表时隐藏新创建的行,方法是Pgfplotstable 没有标题行(正如 Alenanno 在评论中所建议的那样)。

但是,这样您就无法使用诸如 之类的格式选项every head row,这些选项在使用 时特别有用booktabs,因为您没有打印头行。

您可以通过设置来阻止生成新行

    colnames from=N, input colnames to=N

\pgfplotstabletranspose选项中。第一个选项告诉 PGFPlotstable 使用现有列(在本例中N)作为转置表中的列名,第二个选项告诉 PGFPlotstable 将其用作N原始列名的标题。

\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}
\begin{document}

\pgfplotstableread{
N    Ans
1   -36
2    33
3   -52
4   -22
5    33
6    38
7    48
8  -100
}\mytable

\pgfplotstabletranspose[string type,
    colnames from=N,
    input colnames to=N
]\mytablenew{\mytable}

\pgfplotstabletypeset[
    every head row/.style={
        before row=\toprule,
        after row=\midrule
    },
    every last row/.style={
        after row=\bottomrule
    },
string type]{\mytablenew}
\end{document}

相关内容