我想向每个“箭筒图”添加相同的选项集。PGFPlots 提供了向每个图添加选项的pgfplots
样式,但箭筒图是在范围内创建的。 every axis plot
quiver={...}
显而易见的猜测是设置一个名为的样式键,every quiver plot
但它没有任何效果。将箭筒键添加到会every axis plot
导致错误。
这是一个最小的非工作示例。
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\pgfplotsset{
every axis/.append style={
xmin=-1,xmax=1,ymin=-1,ymax=1,
view={0}{90},
width=4cm,
axis equal image
},
every axis plot/.append style={
blue,-stealth,
},
% compiles without error but has no effect
every quiver plot/.style={
scale arrows=0.5,
update limits
}
}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot3[quiver={u=x,v=y}] {x};
\end{axis}
\end{tikzpicture}
\qquad
\begin{tikzpicture}
\begin{axis}
\addplot3[quiver={u=-y,v=x}] {x};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
我发布后立即找到了一种解决方法:
\documentclass[png]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\pgfplotsset{
every axis/.append style={
xmin=-1,xmax=1,ymin=-1,ymax=1,
view={0}{90},
width=4cm,
axis equal image
},
every axis plot/.append style={
blue,-stealth,
quiver={scale arrows=0.5,update limits}
}
}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot3[quiver={u=x,v=y}] {x};
\end{axis}
\end{tikzpicture}
\qquad
\begin{tikzpicture}
\begin{axis}
\addplot3[quiver={u=-y,v=x}] {x};
\end{axis}
\end{tikzpicture}
\end{document}
出于某种原因,我认为quiver
在图中设置的键会覆盖在中设置的键every axis plot
。幸运的是,我错了。
为了实现我想要的界面(即实际every quiver plot
风格),您可以这样做:
\pgfplotsset{
every quiver plot/.style={},
quiver/.prefix code={\pgfqkeys{/pgfplots/quiver}{/pgfplots/every quiver plot}}
}
然后后来:
\pgfplotsset{every quiver plot/.style={
scale arrows=0.5,
update limits
}}