如何用褪色填充区域?

如何用褪色填充区域?

我想用渐变颜色填充 x-y 平面上的一个区域,但不知道该怎么做。我知道如何用颜色填充形状,但当区域形状不明确时,我不知道该怎么做。

让我更具体一点:
我画了一个隐函数 y^2-x^2=a^2 的草图:

\documentclass{article}

\usepackage{tikz}

\begin{document}

        \begin{center}
        \begin{tikzpicture}
          \draw[->] (-3,0) -- (3,0) node[right] {$x$};
          \draw[->] (0,-3) -- (0,3) node[above] {$y$};

          \draw (-3,3) parabola bend (0,1.25) (3,3);
          \draw (-3,-3) parabola bend (0,-1.25) (3,-3);
        \end{tikzpicture}
        \end{center}

\end{document}

这将产生以下内容:
在此处输入图片描述

现在我想用一种在左右边缘逐渐消失的颜色填充这两个抛物线之间的区域(以强调该区域逐渐向无穷远处延伸的事实)。

能做到吗?

先谢谢了!

答案1

也许你应该使用pgfplots提供该fill between功能的版本。但这里有一个tikz版本:

\documentclass{article}

\usepackage{tikz}

\begin{document}

        \begin{center}
        \begin{tikzpicture}
          \draw[thick] (-3,3) parabola bend (0,1.25) (3,3);
          \draw[thick] (-3,-3) parabola bend (0,-1.25) (3,-3);
          \fill[left color = olive!10,right color = olive!10, middle color=olive]
                (-3,3) parabola bend (0,1.25) (3,3) -- (3,-3) parabola bend (0,-1.25) (-3,-3)
                -- (-3,3) -- cycle;
          \draw[->] (-4,0) -- (4,0) node[right] {$x$};
          \draw[->] (0,-3) -- (0,3) node[above] {$y$};
        \end{tikzpicture}
        \end{center}

\end{document}

在此处输入图片描述

使用pgfplots及其fillbetween库,您的代码将如下所示:

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{compat=1.11}

\begin{document}

\begin{center}
\begin{tikzpicture}
\begin{axis}[
  axis lines=middle,
  xtick=\empty,
  ytick=\empty,
  ]
  \addplot[blue,name path=U] {sqrt(3^2+x^2)};
  \addplot[blue,name path=L] {-sqrt(3^2+x^2)};
  \addplot[left color=cyan!05,right color=cyan!05,middle color=cyan!80!black] 
  fill between[of=U and L,soft clip={domain=-5:5},];
\end{axis}
\end{tikzpicture}
\end{center}

\end{document}

结果如下:

在此处输入图片描述

相关内容