So platzieren Sie Zeilenüberschriften und positionieren Beschriftungen von Untertabellen

So platzieren Sie Zeilenüberschriften und positionieren Beschriftungen von Untertabellen

Ich habe versucht, mit pdfLatex eine 3x3-Konfusionsmatrix zu erstellen. Meine bisherige Ausgabe ist zusammen mit meinem Code im Bild unten enthalten.

Ich habe Probleme mit zwei Aspekten der Matrizen.

Zuerst muss ich den Abstand zwischen „Tatsächlicher Wert“ und den Zeilenüberschriften „Links“, „Rechts“ und „Gerade“ an den Seiten der Matrizen vergrößern, aber bisher ist es mir nicht gelungen, dies richtig zu machen.

Zweitens muss ich die Unterüberschrift „(b) Teil 2“ am unteren Ende der zweiten Matrix nach links verschieben, sodass sie wie die Unterüberschrift „(a) Teil 1“ bei der ersten Matrix mit der mittleren Zeile der Matrix übereinstimmt.

Wie kann ich die beiden oben genannten Korrekturen vornehmen?

Ich habe versucht, den Code so gut wie möglich zu übersichtlich zu gestalten. Ich bin ziemlich neu und verwende daher möglicherweise nicht die bestmöglichen Methoden. Für weitere Verbesserungsvorschläge bin ich sehr dankbar.

Danke schön.

\begin{table}[h!]
    \begin{center}
    \setlength\tabcolsep{0pt}
    \caption{Confusion Matrix}
    \label{tab:table1}
    \begin{subtable}{0.49\linewidth}
        \begin{tabular}{c|c|c|c|c}
            \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{3}{c}{\bfseries Prediction outcome} \\
            \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{\textbf{Left}} & \multicolumn{1}{c}{\textbf{Straight}} & \multicolumn{1}{c}{\textbf{Right}}\\
            \multicolumn{1}{c}{\multirow{13}{*}{\rotatebox{90}{\parbox{1.1cm}{\bfseries \mbox{Actual Value}}}}} & \multicolumn{1}{c}{\multirow{-2}{*}{\rotatebox{90}{\parbox{1.1cm}{\textbf{Left}}}}} & \multicolumn{1}{c}{\MyBox{0}{ }} & \multicolumn{1}{c}{\MyBox{1}{ }} & \multicolumn{1}{c}{\MyBox{2}{ }}\\
            \multicolumn{1}{c}{} & \multicolumn{1}{c}{\multirow{1}{*}{\rotatebox{90}{\parbox{1cm}{\textbf{Straight}}}}} & \multicolumn{1}{c}{\MyBox{0}{ }} & \multicolumn{1}{c}{\MyBox{1}{ }} & \multicolumn{1}{c}{\MyBox{2}{ }}\\
            \multicolumn{1}{c}{} & \multicolumn{1}{c}{\multirow{-2}{*}{\rotatebox{90}{\parbox{1.1cm}{\textbf{Right}}}}} & \multicolumn{1}{c}{\MyBox{0}{ }} & \multicolumn{1}{c}{\MyBox{1}{ }} & \multicolumn{1}{c}{\MyBox{2}{ }}
        \end{tabular}
        \caption{Part 1}
    \end{subtable}
    \begin{subtable}{0.49\linewidth}
         \begin{tabular}{c|c|c|c|c}
             \multicolumn{3}{c}{\bfseries Prediction outcome} & \multicolumn{1}{c}{} \\
             \multicolumn{1}{c}{\textbf{Left}} & \multicolumn{1}{c}{\textbf{Straight}} & \multicolumn{1}{c}{\textbf{Right}} & \multicolumn{1}{c}{}\\
             \multicolumn{1}{c}{\MyBox{1000}{ }} & \multicolumn{1}{c}{\MyBox{1}{ }} & \multicolumn{1}{c}{\MyBox{2}{ }} & \multicolumn{1}{c}{\multirow{3}{*}{\rotatebox{270}{\parbox{1cm}{\textbf{Left}}}}} & \multicolumn{1}{c}{\multirow{9}{*}{\rotatebox{270}{\parbox{1.2cm}{\bfseries \mbox{Actual Value}}}}}\\
             \multicolumn{1}{c}{\MyBox{0}{ }} & \multicolumn{1}{c}{\MyBox{1}{ }} & \multicolumn{1}{c}{\MyBox{2}{ }} & \multicolumn{1}{c}{\multirow{-2}{*}{\rotatebox{270}{\parbox{-10cm}{\textbf{Straight}}}}} & \multicolumn{1}{c}{}\\
            \multicolumn{1}{c}{\MyBox{0}{ }} & \multicolumn{1}{c}{\MyBox{1}{ }} & \multicolumn{1}{c}{\MyBox{2}{ }} & \multicolumn{1}{c}{\multirow{1}{*}{\rotatebox{270}{\parbox{1.1cm}{\textbf{Right}}}}}  & \multicolumn{1}{c}{}
         \end{tabular}
         \caption{Part 2}
     \end{subtable}
     \end{center}
\end{table}

Meine Verwirrungsmatrix

Antwort1

Hier ist ein einfacherer Code für eine der Untertabellen. Hoffentlich entspricht er Ihren Wünschen:

\documentclass{article}
\usepackage{subcaption}
\usepackage{rotating, multirow}
\usepackage{graphicx}
\newcommand{\MyBox}[1]{{\parbox[c][1.4cm][c]{1.1cm}{#1}}}
\newcommand{\rotbox}[1]{ \rotatebox[origin = c]{90}{\makebox[0pt]{\bfseries#1}}}

\begin{document}

\begin{table}[h!]
\centering
\caption{Confusion Matrix}
\label{tab:table1}
\begin{subtable}{0.49\linewidth}
    \begin{tabular}{c@{\enspace }c|c|c|c|}
        \multicolumn{2}{c}{} & \multicolumn{3}{c}{\bfseries Prediction outcome} \\
        \multicolumn{2}{c}{} & \multicolumn{1}{c}{\textbf{Left}} & \multicolumn{1}{c}{\makebox[0pt]{\textbf{Straight}}} & \multicolumn{1}{c}{\textbf{Right}}\\[0.5ex]
\cline{3-5}
    & \rotbox{Left} & \MyBox{0} & \MyBox{1} & \MyBox{2} \\
\cline{3-5}
 \rotbox{Actual value} & \rotbox{Straight} & \MyBox{0} & \MyBox{1} & \MyBox{2} \\
\cline{3-5}
    & \rotbox{Right} & \MyBox{0} & \MyBox{1} & \MyBox{2} \\
\cline{3-5}
    \end{tabular}
    \caption{Part 1}
\end{subtable}
\end{table}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen