我画了一个椭圆:
\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}