我正在使用绘制一个小图形TikZ
,并希望在节点内显示节点的名称。基于这个帖子,我遵循同样的逻辑。这是一个最小的例子。
\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usecolortheme{beaver}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=.5,minimum size=2mm ,every node/.style={circle,fill=black}, text=white, minimum size=0.45 cm]
\node (n1)[color= red] at (0,-3) {};
\node (n2) at (0,3) {};
\node (n3) at (3,6) {};
\foreach \from/\to in {n1/n2,n2/n3}
\draw[thick](\from) -- (\to);
\end{tikzpicture}
\end{frame}
\end{document}
现在,当我想显示节点标签时,我将文本放在里面{}
。\node (n1)[color= red] at (0,-3) {1};
此行使我的节点变大,而不是打印节点标签。我想知道我可能做错了什么。另外,我的目的是显示节点内的标签(即圆圈内)。
答案1
为了了解红色节点增长的原因,让我们通过添加 使文本可见text=black
。 (回想一下,这color=red
也会改变文本颜色。)
\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usecolortheme{beaver}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=.5,minimum size=2mm ,every
node/.style={circle,fill=black},text=white,minimum size=0.45 cm]
\node (n1)[color= red,text=black] at (0,-3) {1};
\node (n2) at (0,3) {};
\node (n3) at (3,6) {};
\foreach \from/\to in {n1/n2,n2/n3}
\draw[thick](\from) -- (\to);
\end{tikzpicture}
\end{frame}
\end{document}
这个圈子已经扩大到可以容纳1
。
如果要标记节点,请使用label
。
\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usecolortheme{beaver}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=.5, ,nodes={circle,fill=black,minimum size=3mm},
every label/.append style={rectangle,text=black},text=white]
\node (n1)[color= red,label=right:1] at (0,-3) {};
\node (n2) at (0,3) {};
\node (n3) at (3,6) {};
\foreach \from/\to in {n1/n2,n2/n3}
\draw[thick](\from) -- (\to);
\end{tikzpicture}
\end{frame}
\end{document}
如果希望所有节点大小相同,请添加一些text width
和text height
。也可以使用fill=red
而不是color=red
仅更改填充颜色。
\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usecolortheme{beaver}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=.5,minimum size=2mm ,every
node/.style={circle,fill=black,text width={width("1")},
text height={height("1")}},text=white]
\node (n1)[fill= red] at (0,-3) {1};
\node (n2) at (0,3) {};
\node (n3) at (3,6) {};
\foreach \from/\to in {n1/n2,n2/n3}
\draw[thick](\from) -- (\to);
\end{tikzpicture}
\end{frame}
\end{document}