큰 행렬을 보기 좋게 만들려면 어떻게 해야 합니까?

큰 행렬을 보기 좋게 만들려면 어떻게 해야 합니까?

논문에 큰 행렬을 넣어야 하는데 이를 아름답게 수행할 수 있는 방법을 찾을 수 없습니다. 문제는 이 행렬이 실제로 희박하지만 분석 목적으로 완전해야 한다는 것입니다.

지금까지 나는 이를 다음과 같이 표현했습니다(값이 0인 곳에 공백을 남겨둡니다). 내 추악한 매트릭스

문제는 행렬이 14x14이지만 숫자 1->14를 표시하려면 첫 번째 행/열이 필요하다는 것입니다.

완성도를 유지하면서 어떻게 개선할 수 있을지 아시나요?

편집 : MWE는 다음과 같습니다.

\documentclass[11pt,a4paper]{article}
\usepackage{array}
\begin{document}
\begin{table}[!h]
\centering
\begin{tabular}{|c>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.7cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.5cm}|>{\centering\arraybackslash}p{0.85cm}|}
\hline
{\bfseries SVM} & \multicolumn{1}{|c|}{1} & \multicolumn{1}{c|}{2} & \multicolumn{1}{c|}{3} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{5} & \multicolumn{1}{c|}{6} & \multicolumn{1}{c|}{7} & \multicolumn{1}{c|}{8} & \multicolumn{1}{c|}{9} & \multicolumn{1}{c|}{10} & \multicolumn{1}{c|}{11} & \multicolumn{1}{c|}{12} & \multicolumn{1}{c|}{13} & \multicolumn{1}{c|}{14} \\
\hline
\multicolumn{1}{|c|}{1} &   &   &   &   &   &   &   &   &   &   &   &   &   & 2.3 \\
\hline \multicolumn{1}{|c|}{2} &   &   &   &   &   &   &   &   &   &   &   &   &   & 0.4 \\  
\hline \multicolumn{1}{|c|}{3} & & & & & & & & & & & & & & \\  
\hline \multicolumn{1}{|c|}{4} & & & & & & & & & & & & & & 0.2 \\
\hline  \multicolumn{1}{|c|}{5} && & & & & & & & 0.7 & & & & & 1.2 \\                   
\hline \multicolumn{1}{|c|}{6} & & & & & & & & & & & & & & 0.3 \\  
\hline \multicolumn{1}{|c|}{7} & & & & & & & & & & & & & & 0.2 \\         
\hline \multicolumn{1}{|c|}{8} & & & & & & & & & & & & & & 0.1 \\  
\hline \multicolumn{1}{|c|}{9} & & & & & & & & & 3.4 & & & & & 1.5 \\  
\hline \multicolumn{1}{|c|}{10} & & & & & & & & & & 11.0 & & & & \\      
\hline  \multicolumn{1}{|c|}{11} & & & & & & & & & & & & & & 0.1 \\      
\hline \multicolumn{1}{|c|}{12} & & & & & & & & & & & & & & 2.6 \\  
\hline \multicolumn{1}{|c|}{13} & & & & & & & & & & & & & & 0.1 \\  
\hline \multicolumn{1}{|c|}{14} & & & & & & & & & 0.2 & 0.3 & & & & 200.0 \\ 
\hline
\end{tabular}
\caption{Mean confusion matrices for the first multi-class classification.}
\label{table6}
\end{table}
\end{document}

답변1

몇 가지 가능성:

여기에 이미지 설명을 입력하세요

\documentclass[11pt,a4paper]{article}
\usepackage{dcolumn}
\newcolumntype{d}{D..{3.1}}
\begin{document}


\noindent X\dotfill X

\bigskip
\begin{table}[htp]% not ever [!h]
\centering

\setlength\tabcolsep{.37pt}
\small
\begin{tabular}{@{}|D..{2.0}|*{14}{d|}@{}}
\hline
\multicolumn{1}{|c|}{\footnotesize\bfseries SVM} &
 \multicolumn{1}{c|}{1}
 & \multicolumn{1}{c|}{2}
 & \multicolumn{1}{c|}{3}
 & \multicolumn{1}{c|}{4}
 & \multicolumn{1}{c|}{5}
 & \multicolumn{1}{c|}{6}
 & \multicolumn{1}{c|}{7}
 & \multicolumn{1}{c|}{8}
 & \multicolumn{1}{c|}{9}
 & \multicolumn{1}{c|}{10}
 & \multicolumn{1}{c|}{11}
 & \multicolumn{1}{c|}{12}
 & \multicolumn{1}{c|}{13}
 & \multicolumn{1}{c|}{14}
 \\
\hline
1 &   &   &   &   &   &   &   &   &   &   &   &   &   & 2.3 \\
\hline 2 &   &   &   &   &   &   &   &   &   &   &   &   &   & 0.4 \\  
\hline 3 & & & & & & & & & & & & & & \\  
\hline 4 & & & & & & & & & & & & & & 0.2 \\
\hline  5 && & & & & & & & 0.7 & & & & & 1.2 \\                   
\hline 6 & & & & & & & & & & & & & & 0.3 \\  
\hline 7 & & & & & & & & & & & & & & 0.2 \\         
\hline 8 & & & & & & & & & & & & & & 0.1 \\  
\hline 9 & & & & & & & & & 3.4 & & & & & 1.5 \\  
\hline 10 & & & & & & & & & & 11.0 & & & & \\      
\hline  11 & & & & & & & & & & & & & & 0.1 \\      
\hline 12 & & & & & & & & & & & & & & 2.6 \\  
\hline 13 & & & & & & & & & & & & & & 0.1 \\  
\hline 14 & & & & & & & & & 0.2 & 0.3 & & & & 200.0 \\ 
\hline
\end{tabular}
\caption{Mean confusion matrices for the first multi-class classification.}
\label{table6}
\end{table}

\begin{table}[htp]% not ever [!h]
\centering

\setlength\tabcolsep{.58pt}
\small
\def\z{\multicolumn{1}{D.\cdot{2.2}}{.}}

\begin{tabular}{@{}D..{2.0}|*{14}{d}@{}}

\multicolumn{1}{c|}{\footnotesize\bfseries SVM} &
 \multicolumn{1}{c}{1}
 & \multicolumn{1}{c}{2}
 & \multicolumn{1}{c}{3}
 & \multicolumn{1}{c}{4}
 & \multicolumn{1}{c}{5}
 & \multicolumn{1}{c}{6}
 & \multicolumn{1}{c}{7}
 & \multicolumn{1}{c}{8}
 & \multicolumn{1}{c}{9}
 & \multicolumn{1}{c}{10}
 & \multicolumn{1}{c}{11}
 & \multicolumn{1}{c}{12}
 & \multicolumn{1}{c}{13}
 & \multicolumn{1}{c}{14}
 \\
\hline
1 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 2.3 \\
 2 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 0.4 \\  
 3 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & \\  
 4 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 0.2 \\
  5 &\z &\z &\z &\z &\z &\z &\z &\z & 0.7 &\z &\z &\z &\z & 1.2 \\                   
 6 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 0.3 \\  
 7 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 0.2 \\         
 8 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 0.1 \\  
 9 &\z &\z &\z &\z &\z &\z &\z &\z & 3.4 &\z &\z &\z &\z & 1.5 \\  
 10 &\z &\z &\z &\z &\z &\z &\z &\z &\z & 11.0 &\z &\z &\z & \\      
  11 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 0.1 \\      
 12 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 2.6 \\  
 13 &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z &\z & 0.1 \\  
 14 &\z &\z &\z &\z &\z &\z &\z &\z & 0.2 & 0.3 &\z &\z &\z & 200.0 \\ 

\end{tabular}
\caption{Mean confusion matrices for the first multi-class classification.}
\label{tablezz}
\end{table}

\end{document}

답변2

변경하는 방법은 다음과 같습니다. 표의 아름다움은 주관적일 수 있지만 선은 소음만 추가하고 표를 편안하게 읽는 것을 "더 어렵게" 만든다고 생각합니다. 나는 이 경우처럼 (희소) 수평선만 사용하거나 대체 행 색상을 사용하는 것을 선호합니다.

추가된 패키지나 명령은 빠른 설명을 위해 코드에 주석 처리되어 있습니다. 구체적인 질문이 있는 경우 댓글을 게시하세요.


편집하다: 소수 구분 기호에 따라 숫자 값의 적절한 정렬을 추가했습니다.

수직선이 없는 그림

\documentclass{article}
\usepackage{booktabs, dcolumn} % required for \toprule command. Others are \midrule, and \bottomrule, second one required for aligning numerals by decimal separator
\usepackage{array,ragged2e}
\usepackage[table]{xcolor}    % loads also »colortbl«, required for the alternate row colours

\makeatletter
\newcommand*{\centerfloat}{%
  \parindent \z@
  \leftskip \z@ \@plus 1fil \@minus \textwidth
  \rightskip\leftskip
  \parfillskip \z@skip}
\makeatother % this one is required for the \centerfloat command to work

\newcolumntype{.}{D{.}{.}{-1}}
%\newcolumntype{z}[1]{D{.}{.}{#1}} % so your top tabular doesn't look as messy

\begin{document}

\begin{figure}[!htbp]
     \centerfloat
\rowcolors{2}{gray!10}{white}
\begin{tabular}{.*{15}{.}} % *{num}{form}, the format form is repeated num times.


\multicolumn{1}{c}{{\bfseries SVM}} &
\multicolumn{1}{c}{1} &
\multicolumn{1}{c}{2} &
\multicolumn{1}{c}{3} &
\multicolumn{1}{c}{4} &
\multicolumn{1}{c}{5} &
\multicolumn{1}{c}{6} &
\multicolumn{1}{c}{7} &
\multicolumn{1}{c}{8} &
\multicolumn{1}{c}{9} &
\multicolumn{1}{c}{10} &
\multicolumn{1}{c}{11} &
\multicolumn{1}{c}{12} &
\multicolumn{1}{c}{13} &
\multicolumn{1}{c}{14} \\

\toprule

\multicolumn{1}{c}{1} &   &   &   &   &   &   &   &   &   &   &   &   &   & 2.3 \\
\multicolumn{1}{c}{2} &   &   &   &   &   &   &   &   &   &   &   &   &   & 11110.4 \\
\multicolumn{1}{c}{3} & & & & & & & & & & & & & & \\
\multicolumn{1}{c}{4} & & & & & & & & & & & & & & 0.2 \\
\multicolumn{1}{c}{5} && & & & & & & & 0.7 & & & & & 1.2 \\
\multicolumn{1}{c}{6} & & & & & & & & & & & & & & 0.3 \\
\multicolumn{1}{c}{7} & & & & & & & & & & & & & & 0.2 \\
\multicolumn{1}{c}{8} & & & & & & & & & & & & & & 0.1 \\
\multicolumn{1}{c}{9} & & & & & & & & & 3.4 & & & & & 1.5 \\
\multicolumn{1}{c}{10} & & & & & & & & & & 11.0 & & & & \\
\multicolumn{1}{c}{11} & & & & & & & & & & & & & & 0.1 \\
\multicolumn{1}{c}{12} & & & & & & & & & & & & & & 2.6 \\
\multicolumn{1}{c}{13} & & & & & & & & & & & & & & 0.1 \\
\multicolumn{1}{c}{14} & & & & & & & & & 0.2 & 0.3 & & & & 200.0 \\

\end{tabular}
\caption{Mean confusion matrices for the first multi-class classification.}
\label{table6}
\end{figure}
\end{document}

수직선을 정말로 원한다면 \arrayrulecolor{gray!30}바로 아래에 추가할 수 있습니다 \rowcolors{2}{gray!10}{white}. 또한 표 머리글을 다음으로 바꾸십시오. \begin{tabular}{.*{13}{.|}{.}}이렇게 하면 수직선이 표의 측면이 아닌 셀에만 표시됩니다.

수직선이 있는 그림

관련 정보