TikZ 图:同心圆和“手绘”曲线

TikZ 图:同心圆和“手绘”曲线

我有以下图表(或更美观的版本),我想使用 TikZ 重新创建它。有人能给我指出正确的方向吗?我该如何制作同心圆?曲线呢?

我想用 TikZ 复制的图像

答案1

这是一次尝试。先画同心圆,然后通过两种技巧画出自由曲线。文本按节点放置。极坐标主要用于方便围绕圆定位

(A) edge [in=xx,out=xx] (B) where xx= angle
(A) .. controls (aux1) and (aux2) .. (B)

在此处输入图片描述

代码

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}

\begin{document}
\begin{tikzpicture}

\foreach \r in {0.5,1,...,2}{
\draw (0,0) circle (\r cm);
}
\draw[very thick] (0,0)node[](A){$w_0$} circle(1cm)node[yshift=-0.8cm,inner sep=0pt,outer sep=0pt](B){$\bullet$}; 
\draw[very thick] (-43:2cm) edge[out=120,in=60] (-137:2cm) node[xshift=-1.5cm]{good weather};
\node at (90:1.8cm){cold sun};\draw[dashed,very thick] (90:2.5cm) edge[out=-10, in=0, looseness=3] ([yshift=1cm]175:2.5cm);
\draw[] (4,1)node[above]{A bumper crop here?} .. controls (0,0) and (8,1) .. (B);

\end{tikzpicture}
\end{document}

答案2

要制作同心圆,你可以绘制一组具有相同中心和不同半径的圆:

\foreach \i in {1,2,..., 5}{\draw (0,0) circle (\i cm);}

或者,由于您想要一个较厚的圆圈,您可以绘制一系列圆圈:

\node[circle] (A) at (0,0) {$w_0$};
\draw (0,0) circle (1 cm);
\draw[ultra thick] (0,0) circle (2 cm);
\draw (0,0) circle (3 cm);

\draw然后使用或在顶部绘制弯曲的部分\path

我非常喜欢使用它to来获得曲线。例如,

\draw (-1,0) to[in = 0, out =180] (3,0) to[bend left = 30] (4,3);

您还可以使用其他弯曲的连接器(如parabolasin)来使物体摆动。

您可用来node {text}输入文本。

相关内容