我正在画一个自动机图形,我想在图形下方将其命名为“M1”?如果能提供一个最简单的示例,我将不胜感激。谢谢。
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,auto]
\node[state,initial] (q_0) {$q_0$};
\node[state,accepting] (q_1) [right=of q_0] {$q_1$};
\node[state] (q_2) [right=of q_1] {$q_2$};
\path[->]
(q_0) edge node {a} (q_1)
(q_1) edge node {$\lambda$} (q_2)
(q_2) edge [bend right] node {$\lambda$} (q_0)
; %end path
\end{tikzpicture}
答案1
只需将您的代码包含在figure
环境中即可。这样,您就可以像普通图形一样为其添加标题:
\begin{figure}
\centering
\begin{tikzpicture}
<code>
\end{tikzpicture}
\caption{M1} \label{fig:M1}
\end{figure}
答案2
这是我使用带有文本的额外节点的解决方案,效果很好。
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,auto]
\node[state,initial] (q_1) {$q_1$};
\node[state,accepting] (q_2) [right=of q_1] {$q_2$};
\node[state] (q_3) [below right=of q_1] {$q_3$};
\path[->]
(q_1) edge [bend left] node {a} (q_2)
(q_1) edge [loop above] node {b} (q_1)
(q_2) edge [bend left] node {a,b} (q_3)
(q_3) edge [bend left] node {a} (q_2)
(q_3) edge [bend left] node {b} (q_1);
\node [below=1cm, align=flush center,text width=8cm] at (q_3)
{
$M_1$
};
\end{tikzpicture}
答案3
我有一个类似的解决方案,使用caption
:
\usepackage{caption}
在投影仪幻灯片中我将通过以下方式添加标题:
\captionof{figure}{\textbf{Confusion Matrix}}
例如:
\begin{frame}[fragile]
\frametitle{Confusion Matrix}
\begin{tikzpicture}[
box/.style={draw,rectangle,minimum size=2cm,text width=1.5cm,align=left}]
\matrix (conmat) [row sep=.1cm,column sep=.1cm] {
\node (tpos) [box,
label=left:\( \mathbf{p'} \),
label=above:\( \mathbf{p} \),
] {True \\ positive};
&
\node (fneg) [box,
label=above:\textbf{n},
label=above right:\textbf{total},
label=right:\( \mathrm{P}' \)] {False \\ negative};
\\
\node (fpos) [box,
label=left:\( \mathbf{n'} \),
label=below left:\textbf{total},
label=below:P] {False \\ positive};
&
\node (tneg) [box,
label=right:\( \mathrm{N}' \),
label=below:N] {True \\ negative};
\\
};
\node [left=.05cm of conmat,text width=1.5cm,align=right] {\textbf{actual \\ value}};
\node [above=.05cm of conmat] {\textbf{prediction outcome}};
\end{tikzpicture}
\captionof{figure}{\textbf{Confusion Matrix}}
\end{frame}
预览
简化
为了便于阅读,没有tikz
代码:
\begin{frame}[fragile]
\frametitle{Confusion Matrix}
\begin{tikzpicture}[
% ... tikz ...
\end{tikzpicture}
\captionof{figure}{\textbf{Confusion Matrix}}
\end{frame}
混淆矩阵代码来自这个答案。
答案4
如果您希望标题、标签和 tikzpicture 位于您写下它的准确位置而不浮动,最好使用此选项:
\begin{center}
\begin{tikzpicture}
<code>
\end{tikzpicture}
\captionof{figure}{your Caption}
\label{fig:your Label}
\end{center}