为什么我的中心节点的填充不在它应该在的位置?

为什么我的中心节点的填充不在它应该在的位置?

我在网上找到了一些制作轮状图的代码,除了这部分之外,我都理解了:节点位于 ($(A 1)!.5!(A 6)$)。我认为这是中心的圆圈,但我无法让红色实心圆圈位于那里。这部分是什么意思?我该如何修复它?

\documentclass{report}
\usepackage{tikz, graphicx}
\usetikzlibrary{graphs,graphs.standard,calc}

\begin{document}

\begin{tikzpicture}[scale=0.8,every node/.style={scale=0.8}]
\graph[nodes={draw, circle, fill=black}, radius=.5cm,
           empty nodes]        { subgraph C_n [n=9,m=3,clockwise,radius=3cm,name=A]-- mid};
        \node[shape=circle, fill=red] at  ($(A 1)!.5!(A 6)$) (){}; %WHAT IS HAPPENING
        \foreach \i [count=\xi from 2]  in {1,4,7}{
        \node[shape=circle, fill=red] at (A \i){}; }
        \foreach \i [count=\xi from 2]  in {2,3,5,6,8,9}{
        \node[fill=black] at (A \i){}; }
\end{tikzpicture}
\end{document}

\end{document}

答案1

我猜你想要以下结果:

在此处输入图片描述

其生产厂家为:

\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{calc,
                graphs,graphs.standard}

\begin{document}

\begin{tikzpicture}[scale=0.8, transform shape]
\graph[nodes={draw, circle, fill=black}, 
       empty nodes]        
{subgraph C_n [n=9,m=3,clockwise,radius=3cm,name=A]-- mid};
\node[shape=circle, fill=red] {};       
\foreach \i in {1,4,7}
{
\node[shape=circle, fill=red] at (A \i){}; 
}
\end{tikzpicture}
\end{document}

这是对你的代码的“修复”。如你所见,对于红点的中心定位,你不需要计算中心的位置,因为车轮是围绕坐标绘制的(0,0)。在你的情况下,这个坐标处的节点不需要明确定义这个坐标。但是,你可以把它写成\node[shape=circle, fill=red] at (0,0) {};

@frabjous 的评论非常好地解释了为什么红点不在轮子的中心。

相关内容