使用 pgfplots 的 3D 表面图中的故障无法通过 z 缓冲区解决

使用 pgfplots 的 3D 表面图中的故障无法通过 z 缓冲区解决

解决方案来自这个问题对我不起作用。

函数是 (x+y)^A。如果我用大于 1 的 A 绘制它,3D 图形就没问题。但是,如果 A 小于 1,图形就很糟糕。根据 Wolfram 的说法,对于 A=0.5,图形应该是。但是,我得到了:

阴谋

代码如下:

\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[]{graphicx}
\usepackage{amsmath,amsfonts,amsthm,amssymb,color,pgfplots,tikz}
\usepgfplotslibrary{patchplots}
\pgfplotsset{compat=1.9}

\begin{document}
\begin{figure}
    \centering
    \begin{tikzpicture}
        \def\PHI{0.5}
        \begin{axis}[xlabel=$i_{1}$,ylabel=$i_{2}$,zlabel=$Y$,grid=major,view={45}{45}]
            \addplot3[surf,domain=0:1,samples=19,z buffer=sort]
            { (y-x)^0.5};
        \end{axis}
    \end{tikzpicture}
\end{figure}
\end{document}

答案1

unbounded coords=jump在选项中使用addplot3

\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[]{graphicx}
\usepackage{amsmath,amsfonts,amsthm,amssymb,color,pgfplots,tikz}
\usepgfplotslibrary{patchplots}
\pgfplotsset{compat=1.9}

\begin{document}
\begin{figure}
    \centering
    \begin{tikzpicture}
        \def\PHI{0.5}
        \begin{axis}[xlabel=$i_{1}$,ylabel=$i_{2}$,zlabel=$Y$,grid=major,view={45}{45}]
            \addplot3[surf,unbounded coords=jump,domain=0:1,samples=19,z buffer=sort]
            { (y-x)^0.5};
        \end{axis}
    \end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

相关内容