对于我的工作,我需要一个带有两个独立颜色条的图形。根据 pgfplots 手册,有一个低级键/pgfplots/colorbar/draw/.code={⟨... ⟩}
(第 4.9.12 章,第 233 页)。我已设法基于此键实现第二个颜色条。但问题是第二个颜色条似乎忽略了该colorbar horizontal
键,因此它呈现为垂直(请参阅附件中的最小工作示例)。
是否有人遇到过同样的问题或有任何想法可以解决这个问题?
例子
\documentclass{minimal}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=10cm,
height=10cm,
colormap/jet,
colorbar horizontal,
point meta min=0,
point meta max=1,
colorbar style={
at={(0.75,-0.8)},
anchor=center,
width=3cm
},
colorbar/draw/.append code={
\begin{axis}[
colormap/blackwhite,
colorbar horizontal,
point meta min=0,
point meta max=1,
every colorbar/.append style={
at={(0.25,-0.8)},
anchor=center,
width=3cm
},
every colorbar,
colorbar shift,
colorbar=false,
]
\pgfkeysvalueof{/pgfplots/colorbar addplot}
\end{axis}
}]
\addplot {x};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
由于某种原因,every colorbar/.append style
无法按预期工作。但是,由于它是在颜色栏上下文中设置的,因此您可以直接设置选项。这有效:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=10cm,
height=10cm,
colormap/jet,
colorbar horizontal,
point meta min=0,
point meta max=1,
colorbar style={
at={(0.75,-0.8)},
anchor=center,
width=3cm
},
colorbar/draw/.append code={
\begin{axis}[
colormap/blackwhite,
colorbar horizontal,
point meta min=0,
point meta max=1,
every colorbar,
at={(0.25,-0.8)},
anchor=center,
width=3cm,
colorbar shift,
colorbar=false,
]
\pgfkeysvalueof{/pgfplots/colorbar addplot}
\end{axis}
}]
\addplot {x};
\end{axis}
\end{tikzpicture}
\end{document}