我在用Qrrbrbirbel 的解決方案建構如圖所示的混淆矩陣。問題是,當按照程式碼中給出的行和列擴展到 10 時,它會出現標題中所述的錯誤。我必須畫14*14的矩陣。請幫忙
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{array,hhline}
\makeatletter
\newcommand*{\ccol}[1]{%
\ifdim#1pt<.5pt\relax\else\color{white}\fi
\edef\x{\noexpand\cellcolor[gray]{\strip@pt\dimexpr1pt-#1pt}}\x
#1%
}
\newlength{\cellwidth}
\settowidth{\cellwidth}{0.00}
\def\jline{\\\hhline{~*{10}{|-}|}}
\makeatother
\begin{document}
\begin{tabular}{l*{10}{|>{\centering\arraybackslash}m{\cellwidth}}|}
\noalign{\gdef\w#1{\multicolumn{1}{c}{#1}}}
\w{} & \w{hw} & \w{bx} & \w{wk} & \w{jg} & \w{cl} & \w{rn}\& \w{cl} & \w{rn}\& \w{cl} & \w{rn}\jline
ving & \ccol{1} & 0 & 0 & 0 & 0 & 0& 0 & 0& 0 & 0\jline
xing & 0 & \ccol{0.92} & \ccol{0.08} & 0 & 0 & 0 & 0 & 0& 0 & 0\jline
king & 0 & \ccol{0.03} & \ccol{0.97} & 0 & 0 & 0& 0 & 0& 0 & 0\jline
ging & 0 & 0 & 0 & \ccol{1} & 0 & 0& 0 & 0& 0 & 0\jline
ping & 0 & 0 & 0 & 0 & \ccol{1} & 0& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
\noalign{\global\let\w\undefined}
\end{tabular}
\end{document}
答案1
這個問題似乎是由\w
(可能相關)。
最簡單的修復方法是刪除該定義,然後手動寫出\multicolumn
第一行的命令:
\begin{tabular}{l*{10}{|>{\centering\arraybackslash}m{\cellwidth}}|}
% \noalign{\gdef\w#1{\multicolumn{1}{c}{#1}}}
\multicolumn{1}{c}{}& \multicolumn{1}{c}{hw} & \multicolumn{1}{c}{bx} & \multicolumn{1}{c}{wk} & \multicolumn{1}{c}{jg} & \multicolumn{1}{c}{cl} & \multicolumn{1}{c}{rn} & \multicolumn{1}{c}{cl} & \multicolumn{1}{c}{rn} & \multicolumn{1}{c}{cl} & \multicolumn{1}{c}{rn}\jline
ving & \ccol{1} & 0 & 0 & 0 & 0 & 0& 0 & 0& 0 & 0\jline
xing & 0 & \ccol{0.92} & \ccol{0.08} & 0 & 0 & 0 & 0 & 0& 0 & 0\jline
king & 0 & \ccol{0.03} & \ccol{0.97} & 0 & 0 & 0& 0 & 0& 0 & 0\jline
ging & 0 & 0 & 0 & \ccol{1} & 0 & 0& 0 & 0& 0 & 0\jline
ping & 0 & 0 & 0 & 0 & \ccol{1} & 0& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
ning & 0 & 0 & 0 & 0 & 0 & \ccol{1}& 0 & 0& 0 & 0\jline
% \noalign{\global\let\w\undefined}
\end{tabular}
輸出: