TikZ:路徑建立多餘的箭頭

TikZ:路徑建立多餘的箭頭

下面的 LaTeX 程式碼創建了一個冗餘的不需要的測量塊中的箭頭。

\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}

該程式碼產生以下圖像。

冗餘箭頭

有辦法擺脫它嗎?

答案1

edge是一頭野獸,所以你應該小心地騎在它身上。在not->選項中使用:edge\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}

在此輸入影像描述

答案2

forest自動限制選項的解決方案edge

\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}

普通樹

相關內容