我正在尝试在 xy 平面中绘制一个正弦,用某种颜色填充它,并绘制一些箭头 (dirac) 以显示它可以被视为一个向量。我试过这个,但箭头的参考是 0 而不是 x 轴,三角形标记不会根据 y 的符号旋转。填充选项也不起作用。
\documentclass[crop]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage[french]{babel}
\begin{document}
\begin{tikzpicture}
[x={(0.866cm,-0.5cm)}, y={(0.866cm,0.5cm)}, z={(0cm,1cm)},
>=stealth,
inner sep=0pt, outer sep=2pt,
axis/.style={thick,->},
wave/.style={thick,color=#1,smooth}
]
\coordinate (O) at (0,0,0);
\draw[axis] (O) -- +(12,0,0) node [right] {x};
\draw[axis] (O) -- +(0,2,0) node [right] {y};
\draw[axis] (O) -- +(0,0,2) node [above] {z};
\draw[wave=blue, variable=\x,samples at={0,0.25,...,10}]
plot (\x,{sin(2*\x r)},0)node[anchor=north]{$\vec{E}$};
\draw[ycomb,mark=triangle,variable=\x,samples at={0,0.25,...,10}] plot (\x, {sin(2*\x r)},0);
\end{tikzpicture}
\end{document}
问题确实很多,但我相信你会帮助我解决。
谢谢 !
PS:我也尝试过在范围环境中,但效果并不好......
答案1
您可以使用以下代码绘制矢量:
\foreach \x in {0,0.25,...,10}
\draw[->] (\x,0,0) -- (\x,{sin(2*\x r)},0);
如果您愿意,您可以更改箭头尖并使用其中定义的任何一个tikz
(参见手册的“箭头尖库”一章)。
完整代码和输出:
\documentclass[crop]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
%\usepackage[french]{babel}
\begin{document}
\begin{tikzpicture}
[x={(0.866cm,-0.5cm)}, y={(0.866cm,0.5cm)}, z={(0cm,1cm)},
>=stealth,
inner sep=0pt, outer sep=2pt,
axis/.style={thick,->},
wave/.style={thick,color=#1,smooth}
]
\coordinate (O) at (0,0,0);
\draw[axis] (O) -- +(12,0,0) node [right] {x};
\draw[axis] (O) -- +(0,2,0) node [right] {y};
\draw[axis] (O) -- +(0,0,2) node [above] {z};
\draw[wave=blue, variable=\x,samples at={0,0.25,...,10}]
plot (\x,{sin(2*\x r)},0)node[anchor=north]{$\vec{E}$};
\foreach \x in {0,0.25,...,10}
\draw[->] (\x,0,0) -- (\x,{sin(2*\x r)},0);
\end{tikzpicture}
\end{document}