使用 pgfplots 为平面上的某个区域着色

使用 pgfplots 为平面上的某个区域着色

我正在尝试创建 xy 平面的简单图表,其中 y>-1 区域被阴影化。我搜索了这个论坛,试图找到一种方法来做到这一点,并且我(几乎)使用这个代码找到了一个解决方案:

\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
ymin=-5,
ymax=5
]
\addplot[name path=line1,dashed] {-1};
\addplot[name path=line2,draw=none] {5};
\addplot[gray!15]   fill between[of=line1 and line2];
\end{axis}
\end{tikzpicture}

然而,我编译后最终得到的是如下所示的图表:在此处输入图片描述

为什么会出现轴不可见的情况(并且轴末端的箭头消失了)?我该如何解决这个问题?

答案1

您可以使用以下axis on top选项:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
ymin=-5,
ymax=5,
axis on top,
]
\addplot[name path=line1,dashed] {-1};
\addplot[name path=line2,draw=none] {5};
\addplot[gray!15]   fill between[of=line1 and line2];
\end{axis}
\end{tikzpicture}
\end{document}

相关内容