这更像是一个开放式、个人观点类型的问题。我正在尝试为报告制作一个美观的表格。以下是我目前所拥有的:
每行的内容略有不同,但格式相同:8 行 10 列。第一列解释了一些正在测量的变量。之后,对于接下来的九列,列根据我们使用的聚类进行分组,每种方法 3 列。
第一张表的优点和缺点:
- (+) 垂直分割线将表格中的各个块分开。
- (-) 表格的左上部分看起来非常恶心,而且变量列表被这样的框包围着,这很奇怪。
第二张表的优点和缺点:
- (-) 因为没有垂直线,所以可能更难分辨表格的块结构。
- (+) 看起来比第一个更具视觉吸引力。我不喜欢左上角的空白,但对此你无能为力,而且它并不像第一个表格那么糟糕。
我也在报纸和报告中看到,表格中永远不应该使用垂直线。因此,第二张表也适用该经验法则。
在构建这种性质的表格时,是否有任何技巧/协议可供使用?我应该注意,我使用该pdflscape
包以横向格式制作表格,因为我想将它们放在一页上。
以下是表格的代码,如果有点混乱请见谅:
\documentclass{article}
\usepackage{multirow}
\usepackage{pdflscape}
\begin{document}
\begin{landscape}
\section{Tables}
\begin{table}[ht]
\centering
\def\arraystretch{1.5}
\begin{tabular}{|c|ccc|ccc|ccc|} \cline{2-10}
\multicolumn{1}{c|}{} & \multicolumn{3}{c|}{No Clustering} & \multicolumn{3}{c|}{$K$-means Clustering} & \multicolumn{3}{c|}{Hierarchical Clustering} \\
\multicolumn{1}{c|}{} & \multicolumn{3}{c|}{--} & \multicolumn{3}{c|}{$K=2$} & \multicolumn{3}{c|}{$K=7$} \\ \cline{2-10}
\multicolumn{1}{c|}{} & Lasso & Elastic Net & pcLasso & gLasso & sgLasso & pcLasso & gLasso & sgLasso & pcLasso \\ \hline
\multirow{2}{*}{Tuning Parameters} & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ \\
& -- & $\alpha = 0.2$ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ \\
Misclassifications & $6/31$ & $5/31$ & $5/31$ & $5/31$ & $/31$ & $4/31$ & $5/31$ & $/31$ & $3/31$ \\
Non-zero Coefficients & $16$ & $63$ & $30$ & $1909$ & & $13$ & $687$ & & $7$ \\
Non-zero Groups & -- & -- & -- & $1$ & & & $1$ & & \\ \hline
\end{tabular}
\caption{The performance of various models on the colon data set.}
\label{colontable}
\vspace{0.45cm} % max is 0.49cm, 0.5cm causes page break
\begin{tabular}{cccccccccc} \hline
& \multicolumn{3}{c}{No Clustering} & \multicolumn{3}{c}{$K$-means Clustering} & \multicolumn{3}{c}{Hierarchical Clustering} \\
& \multicolumn{3}{c}{--} & \multicolumn{3}{c}{$K=2$} & \multicolumn{3}{c}{$K=5$} \\ \hline
& Lasso & Elastic Net & pcLasso & gLasso & sgLasso & pcLasso & gLasso & sgLasso & pcLasso \\ \hline
\multirow{2}{*}{Tuning Parameters} & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ \\
& -- & $\alpha = 0.8$ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ \\
Misclassifications & $5/36$ & $3/36$ & $3/36$ & $5/36$ & $/36$ & $2/36$ & $4/36$ & $/36$ & $2/36$ \\
Non-zero Coefficients & $14$ & $28$ & $41$ & $7129$ & & $62$ & $2714$ & & $46$ \\
Non-zero Groups & -- & -- & -- & $2$ & & & $2$ & & \\ \hline
\end{tabular}
\caption{The performance of various models on the leukemia data set.}
\label{leuktable}
\end{table}
\end{landscape}
\end{document}
答案1
我建议使用书签软件包,特别是其命令的使用\cmidrule
,您可以轻松克服您在第二个表中列出的缺点。我还使用了表格型如果您的第一列的内容比当前内容长,则该包可能会派上用场,因为X
类型列允许自动换行并确保整个表的宽度与指定的长度完全一样(\linewidth
在以下 MWE 的情况下):
\documentclass{article}
\usepackage{multirow}
\usepackage{pdflscape}
\usepackage{booktabs}
\usepackage{tabularx}
\begin{document}
\begin{landscape}
\section{Tables}
\begin{table}[ht]
\begin{tabularx}{\linewidth}{Xccccccccc} \toprule
& \multicolumn{3}{c}{No Clustering} & \multicolumn{3}{c}{$K$-means Clustering} & \multicolumn{3}{c}{Hierarchical Clustering} \\
& \multicolumn{3}{c}{--} & \multicolumn{3}{c}{$K=2$} & \multicolumn{3}{c}{$K=5$} \\
\cmidrule(r){2-4} \cmidrule(lr){5-7} \cmidrule(l){8-10}
& Lasso & Elastic Net & pcLasso & gLasso & sgLasso & pcLasso & gLasso & sgLasso & pcLasso \\ \midrule
Tuning Parameters & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ \\
& -- & $\alpha = 0.8$ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ \\ \addlinespace
Misclassifications & $5/36$ & $3/36$ & $3/36$ & $5/36$ & $/36$ & $2/36$ & $4/36$ & $/36$ & $2/36$ \\
Non-zero Coefficients & $14$ & $28$ & $41$ & $7129$ & & $62$ & $2714$ & & $46$ \\
Non-zero Groups & -- & -- & -- & $2$ & & & $2$ & & \\ \bottomrule
\end{tabularx}
\caption{The performance of various models on the leukemia data set.}
\label{leuktable}
\end{table}
\end{landscape}
\end{document}
答案2
这个布局怎么样?我把标题放上去了多于表格是印刷传统位置,原因显而易见。该booktabs
包定义了具有可变厚度的水平规则和上下的一些垂直填充。此外,s\cmidrule
可以帮助可视化列组,使用它们的可选修剪参数l
和r
:
\documentclass{article}
\usepackage{multirow}
\usepackage{booktabs, caption}
\usepackage[usestackEOL]{stackengine}
\usepackage{pdflscape}
\begin{document}
\begin{landscape}
\section{Tables}
\begin{table}[ht]
\centering
\def\arraystretch{1.5}
\setlength{\cmidrulewidth}{\lightrulewidth}
\setlength{\tabcolsep}{4pt}
\caption{The performance of various models on the leukemia data set.}
\label{leuktable}
\begin{tabular}{@{\,}lccc@{\qquad}ccc@{\qquad}ccc@{\,}}%
& \multicolumn{3}{c}{\shortstack{No Clustering\\ --}\hspace*{2.5em}} & \multicolumn{3}{c}{\shortstack{$K$-means Clustering \\ $K = 2$}\hspace*{2.5em}} & \multicolumn{3}{c}{\shortstack{Hierarchical Clustering\\$K = 5$}\hspace*{0.5em}} \\
\cmidrule(r{2.5em}){2-4} \cmidrule(r{2.5em}){5-7} \cmidrule(r{0.5em}){8-10}
& Lasso & Elastic Net & pcLasso & gLasso & sgLasso & pcLasso & gLasso & sgLasso & pcLasso \\ \midrule
\multirow{1.75}{*}{Tuning Parameters} & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ & $\lambda = $ \\[-1.5ex]
& -- & $\alpha = 0.8$ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ & -- & $\alpha = $ & $\texttt{rat} = 0.95$ \\
\addlinespace[0.5ex]
Misclassifications & $5/36$ & $3/36$ & $3/36$ & $5/36$ & $/36$ & $2/36$ & $4/36$ & $/36$ & $2/36$ \\
\addlinespace[0.5ex]
Non-zero Coefficients & $14$ & $28$ & $41$ & $7129$ & & $62$ & $2714$ & & $46$ \\
\addlinespace[0.5ex]
Non-zero Groups & -- & -- & -- & $2$ & & & $2$ & & \\ \bottomrule
\end{tabular}
\end{table}
\end{landscape}
\end{document}