次のグラフでは、エッジの重みはデフォルトで水平に記述されていますが、2 つのノード間のエッジに平行に重み値を記述します。
2 つのノード間のエッジに平行な重み値を書き込むにはどうすればよいでしょうか?
\begin{center}
\begin{tikzpicture}[shorten >=1pt,node distance=2.2cm,on grid]
\node[state] (q_1) {$f_1$};
\node[state] (q_7) [below=of q_1] {$f_1$};
\node[state] (q_13) [below=of q_7] {$f_1$};
\node[state] (start) [left=of q_13] {$start$};
\node[state] (q_19) [below=of q_13] {$f_1$};
\node[state] (q_25) [below=of q_19] {$f_1$};
\path[->] (start) edge node [above] {0.0899} (q_1)
(start) edge node [above] {0.1304} (q_7)
(start) edge node [above] {0.3051} (q_13)
(start) edge node [above] {0.2443} (q_19)
(start) edge node [above] {0.1044} (q_25);
\end{tikzpicture}
\end{center}
答え1
sloped
オプションを使用して、パスに沿ってノードを整列させることができます。
編集:今後の訪問者に明確にわかるようにするため (以下のコメントで既に述べました)、 のような構文は絶対に使用しないでください。$start$
これは の式を意味し、「start」という単語を意味しません。何かをイタリック体で書きたい場合は、グループで を使用するか、引数 (または)を取るマクロとして をs*t*a*r*t
使用します。Ti では、\itshape
\textit
{\itshape abc}
\textit{abc}
け\itshape
Z は、ノードのfont
オプションで のように指定できます\node[font=\itshape]{abc}
。数学的なコンテキストで単語が必要な場合は、\text
によって提供されるを使用できますamsmath
(例: ) \frac{\text{distance}}{\text{time}}
。
\documentclass[tikz]{standalone}
\usetikzlibrary{positioning,automata}
\begin{document}
\begin{tikzpicture}[shorten >=1pt,node distance=2.2cm,on grid]
\node[state] (q_1) {$f_1$};
\node[state] (q_7) [below=of q_1] {$f_1$};
\node[state] (q_13) [below=of q_7] {$f_1$};
\node[state] (start) [left=of q_13] {$start$}; % change this
\node[state] (q_19) [below=of q_13] {$f_1$};
\node[state] (q_25) [below=of q_19] {$f_1$};
\path[->] (start) edge node [above,sloped] {0.0899} (q_1)
(start) edge node [above,sloped] {0.1304} (q_7)
(start) edge node [above,sloped] {0.3051} (q_13)
(start) edge node [above,sloped] {0.2443} (q_19)
(start) edge node [above,sloped] {0.1044} (q_25);
\end{tikzpicture}
\end{document}