我想知道如何在 TikZ 中绘制以下图像:
相对于已知的低级解决方案对于类似的问题,我想知道是否可以使用箭头等高级概念进行操作(而不是深入到弧和线的级别)。请注意,灰色边框是必需的,而阴影不是必需的。
答案1
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\begin{document}
\def\arrow{
(90:.9cm) -- (90:.7cm) -- (110:1.2) -- (90:1.7cm) -- (90:1.5cm)
}
\begin{tikzpicture}[ultra thin]
\draw [gray,fill=yellow!50] circle(1.5);
\draw [gray,fill=white] circle(.9);
\foreach \ang in {0,120,240} {
\path[rotate=\ang,fill=yellow!50] \arrow --cycle;
\draw[draw=gray,rotate=\ang] \arrow;
}
\end{tikzpicture}
\end{document}
编辑:
\arrow
您还可以通过如下更改命令来设置等腰三角形:
\def\arrow{
(0,.9) -- (0,.7) -- (-.4,1.2) -- (0,1.7) -- (0,1.5)
}
在这种情况下,你会得到这些漂亮的弯曲箭头:
答案2
这轮图我写的包,可以使用。
箭头形状用 获得slices arrow={1}{-0.5}
。第一个参数是1
,箭头为矩形。第二个参数是-0.5
,内半径是2
,外半径是3
。因此箭头突出的距离是0.25
。因此 选项gap=0.125
用于不让箭头重叠。
\documentclass[border=6pt]{standalone}
\usepackage{wheelchart}
\begin{document}
\begin{tikzpicture}
\wheelchart[
counterclockwise,
gap=0.125,
slices arrow={1}{-0.5},
slices style={fill=yellow!40,draw=gray},
total count=3
]{}
\end{tikzpicture}
\end{document}
答案3
有arrows.meta
和bendings
,现在有边界。
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{decorations.markings,arrows.meta,bending}
\newcommand{\ThirdArrow}[1][]{%
\draw[line width=0.82cm,gray,-{Triangle[angle=60:.5cm 1,bend]},#1] (-74.5:1.6)
arc (-74.5:74.5:1.6 and 1.6);
\draw[line width=0.8cm,yellow!50,-{Triangle[angle=60:.5cm 1,bend]},#1] (-74:1.6) arc (-74:74:1.6 and 1.6);
}
\newcommand{\ExtraArrow}[1][]{%
\draw[line width=0.82cm,gray,-{Triangle[angle=60:.5cm 1,bend]},#1] (0:1.6)
arc (0:74.5:1.6 and 1.6);
\draw[line width=0.8cm,yellow!50,-{Triangle[angle=60:.5cm 1,bend]},#1]
(-0.1:1.6) arc (0:74.1:1.6 and 1.6);
}
\begin{document}
\begin{tikzpicture}
\ThirdArrow
\ThirdArrow[rotate=120]
\ThirdArrow[rotate=240]
\ExtraArrow
\ExtraArrow[rotate=120]
\end{tikzpicture}
\end{document}