我目前正在将我的化学笔记转录成 LaTeX(GitHub),我不断遇到波浪图,这确实有助于理解,但我不知道如何在 LaTeX 中绘制。我可以使用静态图像并导入为图形,但我想使用 Tikz 之类的东西来做到这一点,这样就不需要随身携带 LaTeX 源文件。这是我尝试绘制的内容:
我该如何在 Tikz 中描述这些?是否有其他软件包可以使这变得简单?
答案1
你可以通过更多方式开始绘制插图。例如使用纯 TikZ:
\documentclass[tikz, margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[->] (-1,0) -- ++ (4,0);
\draw[thick, red] plot[domain=0:2*pi, samples=30] (\x/pi,{sin(\x r)});
\draw[densely dashed] (0,0) -- + (0,1.5) (2,0) -- + (0,1.5);
\draw[<->] (0,1.3) -- node[above] {$\lambda$} + (2,0);
\end{tikzpicture}
\end{document}
这使:
对于其他图像,请阅读章节22 函数图,TikZ 和 PGF 手册第 325 页。
对于函数的绘制,有一个专门的包pgfplots
。通过它可以将上面的图像绘制成:
\documentclass[tikz, margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=8cm,compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
domain=0:2*pi,
samples=200,
no marks, grid,
xticklabels={0, $\frac{\pi}{4}$, $\frac{\pi}{2}$, $\frac{3\pi}{4}$, $\pi$,
$\frac{5\pi}{4}$, $\frac{3\pi}{2}$, $\frac{7\pi}{2}$, 2$\pi$},
xtick={0, 0.7853,...,6.2832},
ymax=1.5
]
\addplot {sin(deg(x))};
\draw[<->] (0,1.2) -- node[above] {$\lambda$} (6.2832,1.2);
\end{axis}
\end{tikzpicture}
\end{document}
附录: 从下面的评论中,我猜对于问题中的第三张图片,您希望获得如下内容:
根据您提供的代码GitHub经过某种优化的代码是:
\documentclass[]{article}
\usepackage{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{figure}[htb]
\pgfplotsset{
axis lines=middle,
axis line style={->},
xmin=0,
xmax=4.2*pi,
xticklabels=empty,
xtick=\empty,
ymin=-1,
ymax=1,
yticklabels=empty,
ytick=\empty,
samples=200,
domain=0:4*pi,
every axis plot post/.append style={very thick},
clip=false
}% end of common axis set
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\begin{axis}% 1. plot
[yscale=0.5]
\addplot[red] {(sin(deg(x)))};
\node at (2*pi,-1.05) {\huge$+$};
\end{axis}
\begin{axis}% 2. plot
[ yshift=-3cm, yscale=0.5]
\addplot[blue] {(sin(deg(x)))};
\node at (2*pi,-1.05) {\huge$=$};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}% 3. plot
\addplot[purple] {(sin(deg(x)))};
\end{axis}
\end{tikzpicture}
\caption{Constructive interference}
\end{subfigure}
\hfill %%%% %%%% %%%% second image
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\begin{axis}% 1. plot
[yscale=0.5]
\addplot[red] {(sin(deg(x)))};
\node at (2*pi,-1.05) {\huge$+$};
\end{axis}
\begin{axis}% 2. plot
[ yshift=-3cm,yscale=0.5]
\addplot[blue] {(sin(deg(x+pi)))};
\node at (2*pi,-1.05) {\huge$=$};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}% 3. plot
\addplot[purple] {0};
\end{axis}
\end{tikzpicture}
\caption{Destructive interference}
\end{subfigure}
\end{figure}
\end{document}