我有以下图表(或更美观的版本),我想使用 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);
您还可以使用其他弯曲的连接器(如parabola
和sin
)来使物体摆动。
您可用来node {text}
输入文本。