PGF 绘图中的垂直规则

PGF 绘图中的垂直规则

我刚刚学会了使用 pgfplottables 绘制表格,感觉非常好,非常流畅。这是我的代码示例:

\documentclass[14pt]{book}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{amsmath}
\usepackage{booktabs}
\begin{document}

\begin{center}
\pgfplotstableread{
    X          C1          C2          C3          C4
    $A$          1         1         1          1
    $B$          1         1         1          1
    $C$          1         1         1          1
    $D$          1         1         1          1
}\testdata


\pgfplotstabletypeset[
  every head row/.style={
    before row={\toprule 
        & \multicolumn{2}{c}{\textbf{table}}\\            \cmidrule{2-3}},
    after row=\midrule},
  every last row/.style={after row=\bottomrule},
  columns/X/.style={string type, column name={test},column type/.add={}{|}},
  columns/C1/.style={string type, column name={$a$}},
  columns/C2/.style={string type, column name={$b$}},
  columns/C3/.style={string type, column name={$c$}},
  columns/C4/.style={string type, column name={$d$}},
  columns={X, C1,C2,C3,C4},
]\testdata
\end{center}


\end{document}

我的问题是关于

columns/X/.style={string type, column name={test},column type/.add={}{|}},

它在正确的位置给我一条线,但是当它到达“X abc d”正下方的水平线时规则就被打破了,它并不会在那里停止,而且还会执行留给“表格”的规则。

有没有可能让它在 $X$ 旁边停下来,而不会在通过水平线时中断?

谢谢你!

答案1

不确定这是否是您感兴趣的输出,但通过添加可以缩短垂直线。在下面的示例中,我还用和\multicolumn{1}{c}{}替换了一些线,booktabs以避免水平线和垂直线交叉点周围出现间隙。\hline\cline

在此处输入图片描述

\documentclass{book}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{amsmath}
\usepackage{booktabs}
\begin{document}

\begin{center}
\pgfplotstableread{
    X          C1          C2          C3          C4
    $A$          1         1         1          1
    $B$          1         1         1          1
    $C$          1         1         1          1
    $D$          1         1         1          1
}\testdata


\pgfplotstabletypeset[
  every head row/.style={
    before row={\toprule 
       \multicolumn{1}{c}{} & \multicolumn{2}{c}{\textbf{table}}\\            \cline{2-3}},
    after row=\hline},
  every last row/.style={after row=\bottomrule},
  columns/X/.style={string type, column name={test},column type/.add={}{|}},
  columns/C1/.style={string type, column name={$a$}},
  columns/C2/.style={string type, column name={$b$}},
  columns/C3/.style={string type, column name={$c$}},
  columns/C4/.style={string type, column name={$d$}},
  columns={X, C1,C2,C3,C4},
]\testdata
\end{center}


\end{document}

相关内容