我想画一个弯曲的箭头,从图表下方开始,指向图表的中心,也就是所有圆圈汇聚的地方。我希望能够在箭头起点处制作一个标签。
我怎么做?
这是我的 MWE:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\tikzset{venn circle/.style={draw,circle,minimum width=6cm,fill=#1,opacity=0.4}}
\node [venn circle = red] (A) at (0,0) {$cognitive$};
\node [venn circle = blue] (B) at (60:4cm) {$linguistics$};
\node [venn circle = green] (C) at (0:4cm) {$childhood$};
\node[left] at (barycentric cs:A=1/2,B=1/2 ) {};
\node[below] at (barycentric cs:A=1/2,C=1/2 ) {};
\node[right] at (barycentric cs:B=1/2,C=1/2 ) {};
\node[below] at (barycentric cs:A=1/3,B=1/3,C=1/3 ){X};
\end{tikzpicture}
\end{document}
答案1
命名带有“X”文本的节点;由于节点现在已命名,您可以使用这些名称通过简单的\draw
操作添加箭头;操作的out
和in
键to
可以为您提供弯曲的箭头(bend
这里是另一个选项),使用额外的\node
您可以添加标签(作为\node
文本的一部分或使用label
键)。下面是一个示例,显示了三种可能性(根据您的需要调整设置):
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\tikzset{venn circle/.style={draw,circle,minimum width=6cm,fill=#1,opacity=0.4,text opacity=1}}
\node [venn circle = red] (A) at (0,0) {$cognitive$};
\node [venn circle = blue] (B) at (60:4cm) {$linguistics$};
\node [venn circle = green] (C) at (0:4cm) {$childhood$};
\node[left] at (barycentric cs:A=1/2,B=1/2 ) {};
\node[below] at (barycentric cs:A=1/2,C=1/2 ) {};
\node[right] at (barycentric cs:B=1/2,C=1/2 ) {};
\node[below] at (barycentric cs:A=1/3,B=1/3,C=1/3 ) (endpoint) {X};
\draw[->]
([yshift=-20pt]A.south) node[anchor=east] {some text}
to[out=0,in=270]
(endpoint.south);
\draw[->]
( [yshift=-20pt] $ (A.south)!0.5!(C.south) $ ) node[anchor=north] {some other text}
to[bend right,looseness=2]
(endpoint.south east);
\node at ([yshift=-15pt]C.south) (textbelow) {yet another text};
\draw[->]
(textbelow.north)
to[out=90,in=0]
(endpoint.east);
\end{tikzpicture}
\end{document}
我添加了text opacity=1
您的样式,因此文本不透明(这是可选的)。