3D 플롯의 클립 경로

3D 플롯의 클립 경로

에 대한 후속 질문입니다.떨림 플롯의 대체 색상

(원을 그리는 대신) 그려진 원의 영역을 자르려면 어떻게 해야 합니까?

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
  compat=newest,
  }
\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    domain=-10:10,
    samples=20,
    xmin=-10,xmax=10,
    ymin=-10,ymax=10,
    zmin=-20,zmax=20,
    point meta=z,
    height=20cm,
    width=15cm,
    view={45}{45}
    ]
    \pgfplotsinvokeforeach{-20,0,20}{
      \pgfplotsset{cycle list shift=1}
      \draw (0,0,#1) circle (7);
      \addplot3[quiver,-stealth,
      quiver={
        u={-y/(x^2+y^2)},
        v={x/(x^2+y^2)},
        w={0},
        scale arrows=10,
        colored=mapped color
      }, 
      ]
      (x,y,#1);

    }
    \draw[ultra thick] (0,0,-20) -- (0,0,20);
    % 
   \end{axis}
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

답변1

여기에 한 가지 방법이 있습니다. scope잘린 경로에 대해 s 및 파라메트릭 플롯을 사용합니다 .

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
  compat=newest,
  }
\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    domain=-10:10,
    samples=20,
    xmin=-10,xmax=10,
    ymin=-10,ymax=10,
    zmin=-20,zmax=20,
    point meta=z,
    height=20cm,
    width=15cm,
    view={45}{45}
    ]
    \pgfplotsinvokeforeach{-20,0,20}{
     \begin{scope}
      \clip plot[smooth cycle,variable=\t,domain=0:355] ({7*cos(\t)},{7*sin(\t)},#1);
      \addplot3[quiver,-stealth,
      quiver={
        u={-y/(x^2+y^2)},
        v={x/(x^2+y^2)},
        w={0},
        scale arrows=10,
        colored=mapped color
      }, 
      ]
      (x,y,#1);
      \end{scope} 
    }
    \draw[ultra thick] (0,0,-20) -- (0,0,20);
    % 
   \end{axis}
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보