当我使用tikz 库framed
中的选项backgrounds
作为轴环境时,此示例可以正常工作:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{backgrounds}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid=both]
\end{axis}
\begin{axis}[xshift=2cm,yshift=3cm,width=4cm,framed]
\end{axis}
\end{tikzpicture}
\end{document}
但对于更复杂的背景样式,就像
background rectangle/.style={draw=red,fill=white},show background rectangle
什么都没有发生一样(但是子图周围的框架仍然出现)。
axis
如果我使用环境包装到额外的内容中tikzpicture
,就像这样:
\begin{tikzpicture}
\begin{axis}[grid=both]
\end{axis}
\begin{tikzpicture}[background rectangle/.style={draw=red,fill=white},
show background rectangle]
\begin{axis}[xshift=2cm,yshift=3cm,width=4cm]
\end{axis}
\end{tikzpicture}
\end{tikzpicture}
背景正常,但定位失败。
我怎样才能将背景与 pgfplots 一起使用?
类似的问题:如何将多个轴的背景一起使用(这对于一个图中不同的左右轴很有用)。
答案1
提供给环境的选项axis
位于/pgfplots
密钥树中,但backgrounds
选项必须以 的形式提供/tikz/background/.style={}
。您的示例因此将如下所示:
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{backgrounds}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid=both]
\end{axis}
\begin{axis}[
xshift=2cm,
yshift=3cm,
width=4cm,
/tikz/background rectangle/.style={
fill=yellow,
draw=blue
},
show background rectangle]
\end{axis}
\end{tikzpicture}
\end{document}