在 Tikz 中绘制波浪

在 Tikz 中绘制波浪

我目前正在将我的化学笔记转录成 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}

相关内容