垂直颜色条(在 tikz 中)+子图(png)

垂直颜色条(在 tikz 中)+子图(png)

我对颜色条的放置有疑问。颜色条在 tikz 环境中单独定义,如这个话题

我的目标是将一个颜色条和 4 张 png 图片(2x2 配置)放在一个图形环境中。png 图片通过子图命令排列成 2x2 配置(见下面的代码)。图片对齐得很好,但我该如何添加垂直颜色条右侧与 2x2 子图完美对齐(无失真且可读性最高)?我尝试过几次,但不幸的是没有成功。我也咨询过这个话题,我在输入问题时刚刚发现了它,但对于垂直颜色条来说它似乎还没有解决。

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{pgfplots,tikz}
\usepackage{mwe}
\begin{figure*}[t!]
\centering
\begin{subfigure}[t]{0.5\textwidth}
    \centering
    \includegraphics[ height=1cm, width=0.6\textwidth]{example-image-a};
   \end{subfigure}%
~ 
\begin{subfigure}[t]{0.5\textwidth}
    \centering
    \includegraphics[ height=1cm, width=0.6\textwidth]{example-image-b};
    \end{subfigure}
    \vskip\baselineskip
    \begin{subfigure}[t]{0.5\textwidth}
    \centering
    \includegraphics[ height=1cm, width=0.6\textwidth]{example-image-c};
   \end{subfigure}%
~ 
\begin{subfigure}[t]{0.5\textwidth}
    \centering
    \includegraphics[ height=1cm, width=0.6\textwidth]{example-image-a};
    \end{subfigure}
\caption{Random Caption}
\end{figure*}
\end{document}

我希望问题足够清楚。任何形式的帮助都将不胜感激。

答案1

一种选择是使用包含两列类型的表格m{<length>}(需要array包)内容居中。第一列为 2x2 图像数组,第二列为颜色条。一个小例子说明了这种方法(根据您的需要调整设置):

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{pgfplots,tikz}
\usepackage{array}

\begin{document}

\begin{figure*}
\centering
\begin{tabular}{
  @{}>{\centering\arraybackslash}m{\dimexpr.8\textwidth-\tabcolsep\relax}
  >{\centering\arraybackslash}m{\dimexpr.1\textwidth-\tabcolsep\relax}@{}
  }
    \begin{subfigure}[t]{0.38\textwidth}
    \centering
    \includegraphics[ height=1.5cm, width=\textwidth]{example-image-a}
   \end{subfigure}\hfill
    \begin{subfigure}[t]{0.38\textwidth}
    \centering
    \includegraphics[ height=1.5cm, width=\textwidth]{example-image-b}
    \end{subfigure}\par\bigskip
    \begin{subfigure}[t]{0.38\textwidth}
    \centering
    \includegraphics[ height=1.5cm, width=\textwidth]{example-image-c}
   \end{subfigure}\hfill
   \begin{subfigure}[t]{0.38\textwidth}
    \centering
    \includegraphics[ height=1.5cm, width=\textwidth]{example-image-a}
   \end{subfigure}
   &
  \includegraphics{colorbar}
\end{tabular}
\caption{Random Caption}
\end{figure*}

\end{document}

结果:

在此处输入图片描述

我使用的颜色条是通过以下处理生成的colorbar.tex

\documentclass[border={-4pt 0pt 5pt 0pt}]{standalone}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    hide axis,
    scale only axis,
    height=0pt,
    width=0pt,
    colormap/jet,
    colorbar horizontal,
    point meta min=18,
    point meta max=48,
    colorbar style={
        width=4cm,
        rotate=90,
        xtick={\empty},
    }
  ]
    \addplot [draw=none] coordinates {(0,0) (1,1)};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容