我正在尝试制作下表:
我尝试了以下方法:
\begin{tabular}{cc|cc}
\multicolumn{1}{c}{} &\multicolumn{1}{c}{} &\multicolumn{1}{c}{Predicted} \\
\multicolumn{1}{c}{} &
\multicolumn{1}{c|}{} &
\multicolumn{1}{c}{Yes} &
\multicolumn{1}{c}{No} \\ \hline
\multirow{1}{*}{\rotatebox{90}{Actual}}
& Yes & 100 & 0 \\
& No & 10 & 80 \\ \hline
\end{tabular}
然而,这给了我:
请注意,“预测”和“实际”标签未居中,列/行位于下方/右侧。此外,水平线应在“实际”标签前停止。有什么建议吗?
谢谢
答案1
以下是实现所需结果的几种方法。我强烈建议使用booktabs
包装并避免使用垂直线(如第三个示例所示):
代码:
\documentclass{article}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{cc|cc}
\multicolumn{1}{c}{} &\multicolumn{1}{c}{} &\multicolumn{2}{c}{Predicted} \\
\multicolumn{1}{c}{} &
\multicolumn{1}{c|}{} &
\multicolumn{1}{c}{Yes} &
\multicolumn{1}{c}{No} \\ \hline
\multirow[c]{2}{*}{\rotatebox[origin=tr]{90}{Actual}}
& Yes & 100 & 0 \\[1.5ex]
& No & 10 & 80 \\ \hline
\end{tabular}
\quad% ---------------------------
\begin{tabular}{@{}cc|cc@{}}
\multicolumn{1}{c}{} &\multicolumn{1}{c}{} &\multicolumn{2}{c}{Predicted} \\
\multicolumn{1}{c}{} &
\multicolumn{1}{c|}{} &
\multicolumn{1}{c}{Yes} &
\multicolumn{1}{c}{No} \\
\cline{2-4}
\multirow[c]{2}{*}{\rotatebox[origin=tr]{90}{Actual}}
& Yes & 100 & 0 \\[1.5ex]
& No & 10 & 80 \\
\cline{2-4}
\end{tabular}
\par\bigskip
\begin{tabular}{@{}cc cc@{}}
\multicolumn{1}{c}{} &\multicolumn{1}{c}{} &\multicolumn{2}{c}{Predicted} \\
\cmidrule(lr){3-4}
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{Yes} &
\multicolumn{1}{c}{No} \\
\cline{2-4}
\multirow[c]{2}{*}{\rotatebox[origin=tr]{90}{Actual}}
& Yes & 100 & 0 \\[1.5ex]
& No & 10 & 80 \\
\cline{2-4}
\end{tabular}
\end{document}
答案2
更简短、更简单:
- 都是
\multicolumn{1}{c}{...}
多余的 - 用来
\rotatebox
origin=center
- 对于更多垂直(对称分布)的空间,请使用
\makegapedcells
包中的宏makecell
。它用于multirow
在第一列的单元格中间隔旋转单词“实际” 因为使用水平线
\cline{2-4}
\documentclass{article} \usepackage{graphicx} \usepackage{multirow} \usepackage{makecell} % for more vertical space in cells \setcellgapes{5pt} \begin{document} { % for making group where "\makegapedcells" is valid \makegapedcells \begin{tabular}{cc|cc} \multicolumn{2}{c}{} & \multicolumn{2}{c}{Predicted} \\ & & Yes & No \\ \cline{2-4} \multirow{2}{*}{\rotatebox[origin=c]{90}{Actual}} & Yes & 100 & 0 \\ & No & 10 & 80 \\ \cline{2-4} \end{tabular} } \end{document}