可以在 pgfplots 中制作箭头图。这是一个最小示例,它是一个 [1, xy] 的矢量场:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=-3:3, view={0}{90}]
\addplot3[blue, quiver={u={1}, v={(x-y)}, scale arrows=0.15}, -stealth,samples=20] {0};
\end{axis}
\end{tikzpicture}
\end{document}
这产生了下面的图片。
问题是,我如何将箭头缩放到单位大小?除以箭头的范数 abs(xy) 不是一个很好的解决方案,因为在零附近 pgfplots 会吐出错误。
答案1
您已经找到了正确的方法:除以箭头长度就是解决方案。 在您的例子中,误差范数是sqrt(1+(x-y)^2)
(不要忘记 x 分量!):
\documentclass{minimal}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\def\length{sqrt(1+(x-y)^2)}
\begin{tikzpicture}
\begin{axis}[domain=-3:3, view={0}{90}]
\addplot3[blue, quiver={u={1/(\length)}, v={(x-y)/(\length)}, scale arrows=0.15}, -stealth,samples=20] {0};
\end{axis}
\end{tikzpicture}
\end{document}
您可能需要进行调整scale arrows
(也许再次使用价值1
?)。