用箭头标记维恩图部分

用箭头标记维恩图部分

我想画一个弯曲的箭头,从图表下方开始,指向图表的中心,也就是所有圆圈汇聚的地方。我希望能够在箭头起点处制作一个标签。

我怎么做?

这是我的 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操作添加箭头;操作的outinto可以为您提供弯曲的箭头(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您的样式,因此文本不透明(这是可选的)。

相关内容