我正在使用 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}
绘制如下图所示: