在一个 pgfplotstable 中输入多个文件

在一个 pgfplotstable 中输入多个文件

我怎样才能从中得到dataA.dat

a b c 
1 2 3 
4 5 6 
7 8 9 

和这个dataB.dat

A    B    C
1.1  2.1  3.1
4.1  5.1  6.1
7.1  8.1  9.1

(如 MWE 所示) 更改为:

a   b   c
1   2   3
4   5   6
7   8   9

1.1 2.1 3.1
4.1 5.1 6.1
7.1 8.1 9.1

应该在哪里一个空白行PDF 结果中的两个数据块之间。

%\documentclass[paper=a5]{scrartcl}
\documentclass[varwidth, border=2pt]{standalone}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\begin{document}

\begin{filecontents}{dataA.dat}
a b c
1 2 3
4 5 6
7 8 9
\end{filecontents}

\begin{filecontents}{dataB.dat}
1.1 2.1 3.1
4.1 5.1 6.1
7.1 8.1 9.1
\end{filecontents}

\pgfplotstableread{dataA.dat}\dataA
\pgfplotstableread{dataB.dat}\dataB

\pgfplotstablecreatecol[copy column from table={\dataB}{[index] 0}] {A} {\dataA}
\pgfplotstablecreatecol[copy column from table={\dataB}{[index] 1}] {B} {\dataA}
\pgfplotstablecreatecol[copy column from table={\dataB}{[index] 2}] {C} {\dataA}

\pgfplotstabletypeset[precision=4]{\dataA}
\end{document}

答案1

您可以在 中包含空行,\pgfplotstabletypeset并使用 合并表格\pgfplotstablevertcat。垂直连接要求列名称相同,因此我重新排序了它们。有点丑陋,但如果需要,可以将其嵌入通用样式以简化覆盖。

\documentclass{article}
\usepackage{pgfplotstable}

\pgfplotstableread{
a b c A   B   C
1 2 3 1.1 2.1 3.1
4 5 6 4.1 5.1 6.1
7 8 9 7.1 8.1 9.1
}\mytable

\pgfplotstableset{
create on use/a/.style={copy column from table={\mytable}{[index] 0}},
create on use/b/.style={copy column from table={\mytable}{[index] 1}},
create on use/c/.style={copy column from table={\mytable}{[index] 2}},
}

\pgfplotstablenew[columns={a,b,c}]{3}{\dataA}

\pgfplotstableset{
create on use/a/.style={copy column from table={\mytable}{[index] 3}},
create on use/b/.style={copy column from table={\mytable}{[index] 4}},
create on use/c/.style={copy column from table={\mytable}{[index] 5}},
}
\pgfplotstablenew[columns={a,b,c}]{3}{\dataB}


\pgfplotstablevertcat{\dataA}{\dataB}

\begin{document}

\pgfplotstabletypeset[every row no 2/.append style={after row={&&\\ }}]{\dataA}};

\end{document}

在此处输入图片描述

相关内容