我找到了一篇关于:如何使用 pgfplots 向散点图添加抖动。我想给直绿线添加抖动来重新创建该图形。。
您认为这是最好的方法吗?箭头也是装饰品吗?
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{amsmath}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-4,xmax=+0, ymin=-0.5,ymax=4.5, axis lines=left]
\addplot[draw=green, mark=none, ultra thick, domain=-4.0:-0.1,
samples=100]
{2}
node [midway, above right] {\small $\bar{U}$ Time-average velocity};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
这种方法与 vrleboss 的建议非常相似,但为了适应波动速度的箭头,我们需要模拟自相关噪声(或尝试大量不相关噪声的实现)。
这里我使用两个余弦函数的乘积作为基函数,然后在其上添加随机噪声:
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{amsmath}
\begin{document}
\begin{tikzpicture}
\pgfmathsetseed{1}
\begin{axis}[xmin=-4,xmax=+0, ymin=-0.5,ymax=4.5, axis lines=left,
clip=false]
\addplot[draw=black, mark=none, ultra thick, domain=-4.0:-0.1,
samples=2]
{2}
node [right] {\small $\bar{U}$ Time-average velocity};
\addplot[draw=red, mark=none, ultra thick, domain=-4.0:-0.1,
samples=100]
{2+0.8*cos(x*300)*cos(x*50)+rand/5}
node [red, right] {\small $U$ Instantaneous velocity}
coordinate [pos=0.25] (point);
\draw [ultra thick, blue, latex-latex] (point) -- (point|-{axis cs:0,2}) node [pos=0, anchor=-160] {$u'$ Fluctuating velocity};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
我会使用rand
函数。修饰会产生非因果曲线。
\begin{tikzpicture}
\begin{axis}[xmin=-4,xmax=+0, ymin=-0.5,ymax=4.5, axis lines=left]
\addplot[draw=green, mark=none, ultra thick, domain=-4.0:-0.1,
samples=100]
{2}
node [midway, above right] {\small $\bar{U}$ Time-average velocity};
\addplot[purple,ultra thick, domain=-4.0:-0.1,samples=50] {0.5*rand+2};
\end{axis}
\end{tikzpicture}