子图的行和列特定标签

子图的行和列特定标签

我正在尝试构建类似于下面的内容,其中每列和每行都有一个标题/标签。我该如何实现?也许可以使用subcaption,但我找不到解决方案。我假设这些图已经单独构建(例如在 R 中),只需要在 TeX 中将它们放在一起。是解决方案的一部分,但无法弄清楚如何将列标题放在顶部而不是底部。

在此处输入图片描述

答案1

尝试下面的解决方案。在代码中:

  • \adjustboxsetadjustbox设置全局应用于每个图像或本地环境
  • valign=c,来自的附加键adjustbox,在中间点设置图像基线
  • \cellspacetoplimit\cellspacebottomlimit强制在其自己的列类型中行与行之间有cellspace最小间距S{x},其中x可以是l、、或任何常规列类型crp{...}
  • \multicolmnS{x}取消标题中的效果。

为了使\adjustbox本示例能够正常工作,可选操作[Export]是必需的。

代码如下:

\documentclass{article}
\usepackage{graphicx}
\usepackage[Export]{adjustbox}
\usepackage{tabularx}
\usepackage{cellspace}

\setlength\cellspacetoplimit{6pt}
\setlength\cellspacebottomlimit{0pt}
\renewcommand\tabularxcolumn[1]{>{\centering\arraybackslash}S{p{#1}}}


\begin{document}
\begin{figure}[tbh]
  \setlength\tabcolsep{6pt}
  \adjustboxset{width=\linewidth,valign=c}
  \centering
  \begin{tabularx}{1.0\linewidth}{@{}
      l
      X @{\hspace{6pt}}
      X
    @{}}
    & \multicolumn{1}{c}{\textbf{1994}}
    & \multicolumn{1}{c}{\textbf{2007}} \\
    \rotatebox[origin=c]{90}{\textbf{Risk score}}
    & \includegraphics{example-image}
    & \includegraphics{example-image} \\
    \rotatebox[origin=c]{90}{\textbf{Caseload size}}
    & \includegraphics{example-image}
    & \includegraphics{example-image}
  \end{tabularx}
\end{figure}
\end{document}

在此处输入图片描述

答案2

下列的这个答案,我只是将列标题从其子图空间的底部移到了顶部。结果如下:

\documentclass{article}

\usepackage[draft]{graphicx}
\usepackage{subcaption}
\newcommand\myrowlabel[1]{%
  \rotatebox[origin=c]{90}{#1}%
}
\begin{document}

\begin{figure}
  \centering
  \begin{subfigure}[c]{0.30\textwidth}\raggedleft
    \caption{model A}
    \myrowlabel{$R=1$}
    \raisebox{-.5\height}{\includegraphics[width=.9\textwidth]
    {example-image-a}}\\
    \myrowlabel{$R=2$}
    \raisebox{-.5\height}{\includegraphics[width=.9\textwidth]
    {example-image-a}}\\
    \myrowlabel{$R=3$}
    \raisebox{-.5\height}{\includegraphics[width=.9\textwidth]
    {example-image-a}}
\end{subfigure}%
\hspace{1em}
\begin{subfigure}[c]{0.30\textwidth}\raggedleft
    \caption{model B}
    \includegraphics[width=.9\textwidth]  
    {example-image-b}
    \includegraphics[width=.9\textwidth]
    {example-image-b}
    \includegraphics[width=.9\textwidth]
    {example-image-b}
\end{subfigure}
\hspace{1em}
\begin{subfigure}[c]{0.30\textwidth}\centering
    \caption{model C}
    \includegraphics[width=.9\textwidth]  
    {example-image-c}
    \includegraphics[width=.9\textwidth]
    {example-image-c}
    \includegraphics[width=.9\textwidth]
    {example-image-c}
\end{subfigure}
\caption{Grid test}
\end{figure}
\end{document}

相关内容