在 TikZ 中沿旋转椭圆放置节点

在 TikZ 中沿旋转椭圆放置节点

和---关联这个问题

如何沿旋转的椭圆放置节点?()

答案1

我不清楚绘制旋转椭圆的代码是什么样子。链接答案中的代码可以简单地整体旋转\begin{tikzpicture}[rotate=60]

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}[rotate=60]
    \draw (2,0) ellipse (2 and 1);
    \node[draw,fill=blue,circle,text=white] at ($(2,0)+(75:2 and 1)$) {A};
    \node[draw,fill=red,circle,text=white] at ($(2,0)+(275:2 and 1)$) {B};
\end{tikzpicture}
\end{document} 

在此处输入图片描述

如果您希望节点内容也旋转,那么请使用transform shape上述 \begin{tikzpicture}[rotate=60,transform shape]代码。

在此处输入图片描述

为了回答评论中的问题:

要隐藏椭圆本身,您可以

  1. 注释掉整行

    \draw (2,0) ellipse (2 and 1);
    
  2. draw=none作为选项使用

    \path[draw=none] (2,0) ellipse (2 and 1);
    

一些有趣的示例代码:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
%
\begin{document}
\begin{tikzpicture}[rotate=60]
\foreach \x/\y in {0/A,30/B,60/C,90/D,120/E,150/F,180/G,210/H,240/I,270/J,300/K,330/L}{
    \node[draw=none,minimum width=10pt,fill=blue!60!green!30,circle,text=white,inner sep=0pt,outer sep=0pt] at ($(2,0)+(\x:2 and 1)$) {\y};
    }
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

您还可以使用圆弧来绘制椭圆,这样您就可以将节点沿椭圆的边框放置在指定的距离处:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw [rotate=30, x radius=2cm, y radius=1cm, delta angle=360] (0,0)
    arc [start angle=0]
    node [pos=0.13] {A}
    node [pos=0.75] {B};
\end{tikzpicture}
\end{document}  

相关内容