我正在尝试使用 pgfplotstable 制作数据表

我正在尝试使用 pgfplotstable 制作数据表

我正在尝试使用 pgfplotstable 制作数据表,但我不知道如何将第一行变成单列。我把表格做成了水平的,但无法将第一行变成一列,也无法在顶部添加新行。我使用这些包

\usepackage{filecontents}
\usepackage{booktabs}

数据集是

B   I
0   0
2   7.95
2.8 11.36
3.8 15.21
4.6 18.28
5.5 22.21
5.9 23.31
6.9 27.30
7.9 31.56
8.9 35.55
\end{filecontents}

这是有效的代码,任何我想做的更改都会出错。我尝试搜索如何做到这一点,但我找不到任何有效的方法。

\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{grafic_1.dat} 

\pgfplotstabletypeset[
    columns/colnames/.style={
    string type,
    column name={Table data}},
    column type=l,  % specify the align method
    every head row/.style={before row=\hline,after row=\hline}, % style the first row
    every last row/.style={after row=\hline},   % style the last row
    every last column/.style={column type/.add={}{|}},  % style the last column
    every column/.style={column type/.add={|},
    column name={}
    }
]
\loadedtable

答案1

第一个表格使用booktabs已加载的。第二个表格带有垂直线,使用\arraystretch来自包的array垂直扩展单元格。

随着 LaTeX 的新版本的推出,filecontents不再需要该包。

Z Z

在这两种情况下,第一行都插入 \multicolumn{11}{c}{Table data}

\documentclass[12pt,a4paper]{article}

\usepackage{pgfplotstable}
\usepackage{booktabs}
 
\usepackage{array}% to expand the cells

%\usepackage{filecontents}% not needed anymore

\begin{filecontents*}[overwrite]{grafic_1.dat}
B I
0 0
2 7.95
2.8  11.36
3.8  15.21
4.6  18.28
5.5  22.21
5.9  23.31
6.9  27.30
7.9  31.56
8.9  35.55
\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{grafic_1.dat}
    
\pgfplotstabletypeset[
every head row/.style={%
        before row={\toprule%
        \multicolumn{11}{c}{Table data}
        \\ \midrule},
output empty row},
every last row/.style={after row=\bottomrule},
string type,
]{\loadedtable} 

\vspace*{60pt}          
    
\renewcommand{\arraystretch}{1.5} % expand the cells
\pgfplotstabletypeset[
every head row/.style={%
                        before row={\hline%
                        \multicolumn{11}{|c|}{Table data}
                        \\ },
                        output empty row},
after row={\hline},
every last column/.style={column type/.add={}{|}},
every column/.style={column type/.add={|}{}},
string type,
]{\loadedtable}
    
\end{document}

相关内容