是否可以删除网格但保留此 pgf 图的轮廓?

是否可以删除网格但保留此 pgf 图的轮廓?

我有以下代码:

\documentclass{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{patchplots}

\begin{document}
\begin{tikzpicture}[]
  \begin{axis}[domain=-1:1, y domain=-1:1, scale=1/2, hide axis]
    \addplot3[
    , surf
    , samples=20
    , thick
    , color=blue!40!white
    , faceted color=blue!70!black
    , fill opacity=0.60
    ]
    {x^2-y^2};
  \end{axis}
\end{tikzpicture}

\end{document}

输出结果如下:

在此处输入图片描述

我想从该图形中删除“网格”,但保留“轮廓”。这可能吗?

减少样本数量并没有太大帮助。因为samples=5我们有:

在此处输入图片描述

答案1

像这样吗?(我真正想问的是因为我不确定你的意思是这不是带有轮廓的。)

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[]
  \begin{axis}[domain=-1:1, y domain=-1:1, scale=1/2, hide axis]
    \addplot3[point meta=1,
    z buffer=sort,
    surf,
    shader=interp,
    samples=20,
    opacity=0.30
    ]
    {x^2-y^2};
  \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

您可以使用一个技巧来获得轮廓:使用point meta来区分内部和边界上的点。边界的宽度与样本数量成反比,因此如果您希望它相对较小,则可能需要使用 来lualatex加速具有许多样本的编译。

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[]
  \begin{axis}[domain=-1:1, y domain=-1:1, scale=1/2, hide axis,
    colormap={blueblack}{color=(black) color=(blue!30)}]
    \addplot3[point meta={1-ifthenelse(abs(x)==1,1,ifthenelse(abs(y)==1,1,0))},
    z buffer=sort,
    surf,
    shader=interp,
    samples=50,
    ]
    {x^2-y^2};
  \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

具有不透明度:

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[]
  \begin{axis}[domain=-1:1, y domain=-1:1, scale=1/2, hide axis,
    colormap={blueblack}{color=(black) color=(blue!30)}]
    \addplot3[point meta={1-ifthenelse(abs(x)==1,1,ifthenelse(abs(y)==1,1,0))},
    z buffer=sort,
    surf,opacity=0,
    samples=50,fill opacity=0.5
    ]
    {x^2-y^2};
  \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容