TikZ: Caminho cria ponta de seta redundante

TikZ: Caminho cria ponta de seta redundante

O código LaTeX a seguir cria um código redundante eindesejadoponta de seta no bloco Medidas.

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,shapes.geometric}
\begin{document}
    \begin{tikzpicture}[>=latex']
        \tikzset{block/.style= {draw,rectangle,align=center,minimum width=2cm,minimum height=1cm}}
        \node [block]     (measures)  {Measures};

        \node [block, above right =2cm of measures](accuracy)   {Accuracy};
        \node [block, below =0.5cm of accuracy]       (precision)     {Precision};
        \node [block, below =0.5cm of precision]      (recall)        {Recall};
        \node [block, below =0.5cm of recall]         (fmeasure)      {Fmeasure};

        \path[draw,->] 
            (measures.east) edge (accuracy.west)
            (measures.east) edge (precision.west)
            (measures.east) edge (recall.west)
            (measures.east) edge (fmeasure.west)
        ;
    \end{tikzpicture}
\end{document}

O código produz a seguinte imagem.

Ponta de seta redundante

Existe uma maneira de se livrar disso?

Responder1

edgeé uma fera, então você deve montá-la com cuidado. Use ->na opção de edgenão \draw:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,shapes.geometric}
\begin{document}
    \begin{tikzpicture}[>=latex']
        \tikzset{block/.style= {draw,rectangle,align=center,minimum width=2cm,minimum height=1cm}}
        \node [block]     (measures)  {Measures};

        \node [block, above right =2cm of measures](accuracy)   {Accuracy};
        \node [block, below =0.5cm of accuracy]       (precision)     {Precision};
        \node [block, below =0.5cm of precision]      (recall)        {Recall};
        \node [block, below =0.5cm of recall]         (fmeasure)      {Fmeasure};

        \path[draw]
            (measures.east) edge[->] (accuracy.west)
            (measures.east) edge[->] (precision.west)
            (measures.east) edge[->] (recall.west)
            (measures.east) edge[->] (fmeasure.west)
        ;
    \end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Responder2

Uma forestsolução que restringe automaticamente as edgeopções:

\documentclass[tikz,border=5pt]{standalone}
\usepackage{forest}
\usetikzlibrary{arrows.meta}
\begin{document}
  \begin{forest}
    for tree={
      grow'=0,
      parent anchor=east,
      child anchor=west,
      draw,
      minimum width=20mm,
      minimum height=10mm,
      edge={-{Latex}},
      l sep+=10mm,
    }
    [Measures
      [Accuracy]
      [Precision]
      [Recall]
      [F measure]
    ]
  \end{forest}
\end{document}

árvore simples

informação relacionada