如何绘制角线?

如何绘制角线?

可能重复:
如何在图片中画特殊线

我使用下面的代码绘制了一幅图,但是该线从 s2 到 s4 是直线,请参考图像。在此处输入图片描述

但是,我想要一条像图中红线那样的角度的线。有人可以帮我怎么做吗?

\usepackage{tikz}
\usetikzlibrary{trees}
\resizebox{.5\textwidth}{!}{
\tikzset{level 1/.style={level distance=0.7cm, sibling distance=3cm}}
\tikzset{level 2/.style={level distance=0.7cm, sibling distance=6cm}}

\tikzset{bag/.style={text centered,yshift=-0.2cm}}
\begin{tikzpicture}[grow=down, -stealth]
\node[bag]{$S_0{:}(B,true,0)$}
    child{ edge from parent node[right]{$\lsInvoke \_ DS$}; \node[bag]{$S_1{:}(R_{good})$}
            child{ edge from parent node[right]{and}; \node[bag]{$S_2{:}(and)$}
                    child[missing]
                    child{ edge from parent node[right=0.1cm]{$[else]$}; \node[bag]{$S_3{:}(A_1)$}
                    }
                    child{ edge from parent node[right=0.9cm]{$[if]$}; \node[bag]{$S_4{:}(R_{good})$}
                    }
            }
    };
\end{tikzpicture}} 

答案1

我无法编译你的代码,也没有使用树的经验,树似乎为你绘制了路径。这应该可以证明我认为你正在寻找的概念:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (B) at (5,-1);
    \draw (A) -- (B);
    \draw[thick,dashed,red,->] (A) -| (B);
\end{tikzpicture}
\end{document}

生成结果:

结果

这里对您来说最重要的部分是使用-|而不是--在直线坐标系而不是标准坐标系中创建路径。与 draw 一起使用时,它会绘制该线的组成部分,而不是绘制直线。

也许您只需在 S_2 和 S_4 处创建命名坐标并将直线路径叠加在其上?

相关内容