我在网上找到了一些制作轮状图的代码,除了这部分之外,我都理解了:节点位于 ($(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 的评论非常好地解释了为什么红点不在轮子的中心。