我想在一个命令中绘制一个椭圆及其中心点,如下所示:
\draw (1,0) [fill] circle (1mm) node[below]{$1$} ellipse (5 and 2);
我希望中心点被填充,但椭圆不被填充。也许我可以先绘制椭圆,然后激活该[fill]
选项,但是有没有命令可以[nofill]
在 tikz 绘制椭圆之前关闭填充?
答案1
根据手动的(第 136 页)您可以[fill=none]
按照这种方式使用。
\draw (1,0) [fill] circle (1mm) node[below]{$1$} [fill=none] ellipse (5 and 2);
不过我自己还没尝试过。
答案2
不,这是不可能的。从手册(2.10 版第 73.1 节)中可以看出:
影响路径呈现方式的所有选项始终都会影响完整路径。
这里圆和椭圆在同一个\draw
命令中,因此是同一条路径的一部分(例外情况是edge
和node
命令总是创建新路径)。因此,您需要按照 Thorsten 的建议用节点标记中心(可能用填充的圆形节点)或将代码拆分为两个单独的\draw
语句。对于后者,命名坐标可能很有用:
\fill (1,0) node[coordinate] (thecenter) {} circle (1mm) node[below]{$1$};
\draw (thecenter) ellipse (5 and 2);
答案3
由于 draw 命令的选项可以在多个地方给出,我猜答案是它不能在一个命令中完成。但是,使用后动作和预动作可能会有一些技巧……虽然我想不出是什么。
答案4
也许另一种方法会有所帮助。只需将用作\textbullet
椭圆中心的节点即可。
\draw (1,0) node {\textbullet} node[below] {1} ellipse (5 and 2);
然而,这样做的缺点是中心点的大小现在是固定的。