我正在尝试学习如何在 TikZ 中绘制图形,但我在网上教程中找到的简单示例对我尝试创建的图形没有帮助。
基本上,我希望有四种类型的节点:空节点、带十字的节点、带单线的节点和带点的节点。除此之外,我还希望在节点旁边添加标签,以指示其名称。
我附加了一个小例子来解释这些类型的节点。
这是我目前所拥有的,使用 TikZiT 寻求帮助。
\begin{tikzpicture}
\begin{pgfonlayer}{nodelayer}
\node [style=new style 0] (0) at (-2, 2) {};
\node [style=new style 0] (1) at (-2, 1) {};
\node [style=new style 0] (2) at (-2, 0) {};
\node [style=new style 0] (3) at (-2, -1) {};
\node [style=new style 0] (4) at (-4, 0.5) {};
\node [style=new style 0] (5) at (0, 1.5) {};
\node [style=new style 0] (6) at (0, 0.5) {};
\node [style=new style 0] (7) at (0, -0.5) {};
\end{pgfonlayer}
\begin{pgfonlayer}{edgelayer}
\draw (0) to (4);
\draw (1) to (4);
\draw (2) to (4);
\draw (3) to (4);
\draw (0) to (5);
\draw (2) to (6);
\draw (1) to (7);
\draw (5) to (3);
\end{pgfonlayer}
\end{tikzpicture}
答案1
您可以定义宏来在节点中绘制十字线。例如,
\newcommand{\snode}[1]{\draw(#1.45)--(#1.225);}
然后如果您有一个圆形节点(node1)
,您可以\snode{node1}
在内部调用tikzpicture
,宏将从角度 45 到角度 225 画一条线。
您可以更改 中的点的大小\dnode
(当前.5mm
)以及圆圈的大小(当前4mm
)。
\draw
此外,由于所有线条都是相同的样式,因此没有必要使用多个命令。
\documentclass{article}
\usepackage{tikz}
\newcommand{\snode}[1]{\draw(#1.45)--(#1.225);}
\newcommand{\xnode}[1]{\draw(#1.45)--(#1.225)(#1.135)--(#1.315);}
\newcommand{\dnode}[1]{\fill (#1) circle[radius=.5mm];}
\begin{document}
\begin{tikzpicture}[every node/.style={draw, circle, minimum size=4mm}]
\node (0) at (-2, 2) {};
\node (1) at (-2, 1) {};
\node (2) at (-2, 0) {};
\node (3) at (-2, -1) {};
\node (4) at (-4, 0.5) {};
\node (5) at (0, 1.5) {};
\node (6) at (0, 0.5) {};
\node (7) at (0, -0.5) {};
\draw (0) to (4) (1) to (4) (2) to (4) (3) to (4) (0) to (6) (1) to (6) (2) to (5) (3) to (6) (3) to (7);
\dnode{4}\snode{1}\snode{2}\xnode{5}\xnode{6}\xnode{7}
\end{tikzpicture}
\end{document}