具有多行的 pgfplotstable

具有多行的 pgfplotstable

如何使用pgfplotstablewithmultirow创建一个表格,其中有一列的每个单元格跨越 3 行。

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{multirow}

\begin{filecontents}{table.csv}
A,B,C
1,1,200
 ,3,300
 ,5,400
2,1,150
 ,3,250
 ,5,350
\end{filecontents}

\pgfplotstableread[col sep=comma]{table.csv}\tabledata

\begin{document}
\begin{table}
    \centering
    % ???
\end{table}
\end{document}

应生成如下表格:

┌───┬───┬─────┐
│ A │ B │  C  │
├───┼───┼─────┤
│   │ 1 │ 200 │
│ 1 │ 3 │ 300 │
│   │ 5 │ 400 │
│   │ 1 │ 150 │
│ 2 │ 3 │ 250 │
│   │ 5 │ 350 │
└───┴───┴─────┘

答案1

您可以检查行号模 3 并执行相应的操作。

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{multirow}
\pgfplotstableread[col sep=comma]{
A,B,C
1,1,200
 ,3,300
 ,5,400
2,1,150
 ,3,250
 ,5,350
}\tabledata

\begin{document}
\begin{table}
    \centering
    \pgfplotstabletypeset[
    columns/A/.style={
        assign cell content/.code={%
        \pgfmathparse{int(Mod(\pgfplotstablerow,3)}%
        \ifnum\pgfmathresult=0%
            \pgfkeyssetvalue{/pgfplots/table/@cell content}%
            {\multirow{3}{*}{##1}}%
        \fi%
        },
    },
    ]{\tabledata}
\end{table}
\end{document}

在此处输入图片描述

相关内容