在特定区域颤动 - pgfplot

在特定区域颤动 - pgfplot

我是 pgfplot 的新手,但得到了一些网络示例来创建我自己的矢量化图像。由于我的具体问题在平面的上部区域有一个矢量场,所以我想只绘制这一部分。对于那些认为“只绘制轴的上侧”的人,我已经想到了,不,这不是可接受的答案。目标是绘制更复杂的区域以形成具有多个不同矢量场的域。代码如下。确切的区域由此图上的曲线分隔:

\begin{tikzpicture}
    \begin{axis}[
        axis equal,
        title={$u = 1$},
        domain=-2:2,
        view={0}{90},
        axis background/.style={fill=white},
    ]
        \addplot3[blue,
            quiver={
             u={y},
             v={-x + 1},
             scale arrows=0.1,
             domain=0:2
            },
            -stealth,samples=15]
                {0.5*((x - 1)^2 + y^2)};
    \end{axis}
\end{tikzpicture}

我感谢你的帮助,并焦急地等待着。我想要绘制的两个区域之间的线所划定的正确区域如下。

在此处输入图片描述

此致。

答案1

pgfplots基于 TiZ,可让您剪辑。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        axis equal,
        title={$u = 1$},
        domain=-2:2,
        view={0}{90},
        axis background/.style={fill=white},
    ]
    \clip (-2.5,0,0) -- (-1,0,0) arc (180:360:0.5) 
    arc (180:0:0.5) -- (2.5,0,0) -- (2.5,2.5,0) -| cycle;
        \addplot3[blue,
            quiver={
             u={y},
             v={-x + 1},
             scale arrows=0.1,
            % domain=0:2
            },
            -stealth,samples=15]
                {0.5*((x - 1)^2 + y^2)};
    \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容