我想使用 创建图表\usetikzlibrary{graphs}
。默认情况下,我希望用填充的黑点作为节点,并在其旁边显示节点名称。
到目前为止,我最好的解决方案是
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs}
\begin{document}
\begin{tikzpicture}
\graph [empty nodes, % remove node text
no placement, nodes={
circle, draw, fill=black,
inner sep=0pt, outer sep=0pt,
minimum size=2mm
}
] {
% manually specify node text
1[label=left:\(1\), x=0, y=-1]
};
\end{tikzpicture}
\end{document}
有没有更好/更直观的解决方案来解决我的问题?
答案1
您可以使用\tikzgraphnodetext
及其变体访问图表语法中的<name>
和的值<text>
<name>/<text> [<options>]
使用
label={\tikzgraphnodetext:\(\tikzgraphnodename\)}
作为您的一部分nodes
允许您改为书写1/left
。您也可以使用类似于在的1 left
样式中拆分的样式,但这意味着如果您想引用它,您总是需要使用。\tikzgraphnodename
1 left
这样,您就可以使用1
。
代码
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs}
\begin{document}
\tikz
\graph [
empty nodes, % remove node text
no placement,
nodes={
circle, draw, fill=black,
inner sep=0pt, outer sep=0pt,
minimum size=2mm,
label={\tikzgraphnodetext:\(\tikzgraphnodename\)}
}
] {
1/left [x=0, y=-1],
2/right [x=1, y=-1],
3/below right [x=0, y= 0],
4/above right [x=1, y= 0];
1 -> {2, 3[> bend left]}
-> 4
};
\end{document}