使用多个 Tikzpicture 填充

使用多个 Tikzpicture 填充

我正在使用 PGFPlots 版本 1.14 和 PGF 版本 3.0.1a,填充效果很奇怪。填充的颜色出现在后续图表中,而不是定义它的图表中。

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween, polar}
\begin{document}

\begin{center}
\begin{tikzpicture}
\begin{polaraxis}[
xtick=\empty,
ytick=\empty,
hide axis, 
]
\addplot[domain=0:360, smooth, blue, name path=rose]{cos(2*x)};
\addplot[domain=0:360, smooth, red, name path = circle]{.5};
\addplot[yellow] fill between[of=circle and rose];
\end{polaraxis}
\end{tikzpicture}
\end{center}


\begin{center} 
\begin{tikzpicture}
\begin{axis}
\addplot[green] fill between[of=NoPathA and NoPathB];
\end{axis}
\end{tikzpicture}
\end{center}

\end{document}

有结果

在此处输入图片描述

为什么原始图片中没有填充,为什么即使我输入了虚拟名称路径,第二张图片中也会出现填充?

答案1

显然,问题是由于polaraxis两个图之间的填充引起的。

以下是我针对您的问题的解决方案:

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween, polar}
\begin{document}

\begin{center}
\begin{tikzpicture}
\begin{polaraxis}[hide axis]
\begin{scope}[]
\addplot[domain=0:360, smooth, blue, name path=rose]{cos(2*x)};
\addplot[domain=0:360, smooth, red, name path = circle]{.5};
\tikzfillbetween[of=rose and circle]{yellow}
  \end{scope}
  \end{polaraxis}
\end{tikzpicture}
\end{center}

\end{document}

绘制如下图所示:

在此处输入图片描述

相关内容