使用 tikz 在控制流图中添加其他箭头

使用 tikz 在控制流图中添加其他箭头

我是 tikz 新手,想用 tikz 在控制流图(通过粗箭头显示)上绘制一些额外的箭头。对于图表的某些部分,我可能只想显示黑色粗箭头,而对于其他部分,我可能只想显示灰色粗箭头和通常的箭头。如果有人能帮忙,我将不胜感激。

谢谢,

这是我迄今为止编写的代码....

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning}
\usetikzlibrary{arrows}

\usetikzlibrary{automata}

\begin{document}

\begin{figure}[H]
\centering
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,>=stealth',
every state/.style={draw=black!50,very thick,fill=black!10}]
\node[state,initial] (q0) {$q_0$};
\node[state] (q1) [above right=of q0] {$q_1$};
\node[state] (q2) [below right=of q0] {$q_2$};
\path[->] (q0) edge node [above left] {0} (q1)
edge node [below left] {1} (q2)
(q1) edge [loop above] node {0} ()
(q2) edge [loop below] node {1} ();
\end{tikzpicture}
\end{figure}

\end{document}

在此处输入图片描述

答案1

由于您已经加载了arrows库,您可能可以使用如下方法:

\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,>=stealth',
    every state/.style={draw=black!50,very thick,fill=black!10},
    arrow/.style={single arrow,draw,fill=black!50,inner sep=1pt,minimum height=15pt,single arrow head extend=2pt,outer sep=3pt,sloped}]
  \node[state,initial] (q0) {$q_0$};
  \node[state] (q1) [above right=of q0] {$q_1$};
  \path[->] (q0) edge node [anchor=south,arrow] {} node [anchor=north,arrow,fill=black] {} (q1);
\end{tikzpicture}

其结果应为:

在此处输入图片描述

相关内容