如何在 TikZ 中的椭圆内书写?

如何在 TikZ 中的椭圆内书写?

我画了一个椭圆:

\node (elli) [ellipse, minimum height=3cm,minimum width=2cm, draw] {};

我想在其中写入一些元素,如下图所示。元素的位置不需要精确,但我希望它们位于椭圆内。

有人知道怎么做吗?

在此处输入图片描述

答案1

您可以使用该fit库将一个节点放置ellipse在其他一些节点周围。语法是fit={(<node1>) (<node2>) ...}。要随机放置一些节点,您可以使用xshift=rnd*<length>yshift=rnd*<length>。随机数每分钟都会变化,因此为了保持结果的可重复性,您应该使用固定随机种子pgfmathsetseed=<integer>

\documentclass[a4paper]{article}

\usepackage{tikz}
\usetikzlibrary{fit,shapes}

\begin{document}

\pgfmathsetseed{12}

\begin{tikzpicture}[
    random position/.style={
        xshift=rnd*0.5cm,
        yshift=rnd*2cm
    }
]
\node (a) [random position] {1};
\node (b) [random position] {5};
\node (c) [random position] {7};
\node (d) [random position] {11};
\node (e) [random position] {$\cdots$};
\node [draw,ellipse,fit={(a) (b) (c) (d) (e)}] {};
\end{tikzpicture}


\end{document}

相关内容