连接图的节点

连接图的节点

我想绘制类似

在此处输入图片描述

在乳胶中,但我希望边接触顶点。

我的尝试:

\node (f) at (0,0) {$F$};
\node (g) at (1,0) {$G$};
\node (e) at (2,0) {$E$};
\node (d) at (2,1) {$D$};
\node (a) at (2,2) {$A$};
\node (b) at (3,2) {$B$};
\draw[black, thick] (a)--(b);
\draw[black, thick] (c)--(b);
\draw[black, thick] (d)--(c);
\draw[black, thick] (d)--(e);

但边仍然没有接触顶点。如能得到任何帮助,我将不胜感激。

编辑:代码

\node (a) at (10,0) {$\circ$};
\node (b) at (11,-1) {$\circ$};
\node (c) at (11,-2) {$\circ$};
\node (d) at (12,-3) {$\circ$};
\node (e) at (11,-4) {$\circ$};


\draw[black, thick] (a.center)--(b.center)--(c.center)--(d.center)--(e.center);

生成此图表在此处输入图片描述

如果我能用黑色填充节点就好了。如果我把代码

\node [fill=black](a) at (10,0) {$\circ$};
\node [fill=black](b) at (11,-1) {$\circ$};
\node (c) at (11,-2) {$\circ$};
\node (d) at (12,-3) {$\circ$};
\node (e) at (11,-4) {$\circ$};


\draw[black, thick] (a.center)--(b.center)--(c.center)--(d.center)--(e.center);

它生成了这个图表在此处输入图片描述

但是我希望节点是圆形的、很小的,并且边从节点边界绘制到节点边界。

答案1

  • 您的代码片段有错误(未定义节点c
  • 箭头与节点边界相交。为了看到这一点,在下面的 MWE 中,节点的边界在前两个节点处绘制
  • 不太清楚你想要什么。请始终提供 MWE,而不仅仅是代码片段。
\documentclass[margin=3.141592]{standalone} % ;-)
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[every node/.style = {circle, inner sep=2pt}]
\node[draw] (f) at (0,0) {$F$};
\node[draw] (g) at (1,0) {$G$};
\node[fill=cyan] (e) at (2,0) {$E$};
\node (d) at (2,1) {$D$};
\node (a) at (2,2) {$A$};
\node (b) at (3,2) {$B$};
\draw[black, thick] (a)--(b) -- (d) --(e) --(g) -- (f);    
    \end{tikzpicture}
\end{document}

在此处输入图片描述

节点和箭头之间的微小空白E等于outer sep为节点边框留出空间的距离(宽度的一半)。因此,它在此节点上不存在,但它会显示出来。如果您将此距离设置为零,例如通过

every node/.style = {circle, inner sep=2pt, outer sep=0pt}

然后它们就会消失:

在此处输入图片描述

附录 从上面的示例可以看出如何解决问题。您需要定义节点的样式(如示例中所示)。由于您的问题仍不完全清楚您的问题是什么,因此我定义了节点样式,这样您就可以观察到在节点上使用边框线与仅填充边框线时的区别。

现在我猜你喜欢以下内容:

\documentclass[margin=3.141592]{standalone} % ;-)
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[
every node/.style = {draw, circle, inner sep=2pt}
                        ]
circle, inner sep=2pt}]
\node (f) at (0,0) {};
\node (g) at (1,0) {};
\node (e) at (2,0) {};
\node (d) at (2,1) {};
\node (a) at (2,2) {};
\node (b) at (3,2) {};
\draw[black, thick] (a)--(b) -- (d) --(e) --(g) -- (f);
    \end{tikzpicture}
\end{document}

请注意,节点样式在选项中定义tikzpicture

every node/.style = {draw, circle, inner sep=2pt}

指示every node必须将此样式应用于图片中的所有节点。如果图片中还有其他节点,例如节点标签或箭头,它们应该具有不同的样式,那么最好为节点的样式命名,例如V(作为 Vertices 的缩写)并在 MWE 上方写为:

\documentclass[margin=3.141592]{standalone} % ;-)
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[
V/.style = {draw, circle, inner sep=2pt}
                        ]
\node[V] (f) at (0,0) {};
\node[V] (g) at (1,0) {};
\node[V] (e) at (2,0) {};
\node[V] (d) at (2,1) {};
\node[V] (a) at (2,2) {};
\node[V] (b) at (3,2) {};
\draw[black, thick] (a)--(b) -- (d) --(e) --(g) -- (f);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

我以前也遇到过类似的问题。只需尝试将中心添加到点中,例如:

\draw[black, thick] (a.center)--(b.center);
\draw[black, thick] (c.center)--(b.center);
\draw[black, thick] (d.center)--(c.center);
\draw[black, thick] (d.center)--(e.center);

相关内容