我对颜色条的放置有疑问。颜色条在 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}