在下圖中,邊權重預設寫為水平方向,我想將權重值寫入與兩個節點之間的邊平行的權重值。
如何將權重值寫入平行於兩個節點之間的邊緣?
\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$
這樣的結構,因為這意味著公式s*t*a*r*t
而不是“開始”一詞。如果您想要以斜體書寫的內容,您可以\itshape
在群組中使用,或\textit
作為帶有參數的巨集(so{\itshape abc}
或\textit{abc}
)。鈦中k\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}