在 tikz 中绘制图形(截止函数)

在 tikz 中绘制图形(截止函数)

请问我需要这个图的代码 tikz。

我有此代码,但它不正确:

[![\begin{figure}
\begin{tikzpicture}\[x=1.5cm,y=1.5cm\]
\draw\[thick\] plot\[domain=-100:40,samples=100\] ({3.5*cos(\x)},{1.5*sin(\x)+.3*cos(2*\x)}) node {$Q$};
\foreach \x/\i in {-40/j,-70/i} {
\draw\[thick\] ({2.5*cos(\x)},{1*sin(\x)+.15*cos(2.2*\x)}) circle(.4);
\draw\[thick,dotted\] ({2.5*cos(\x)},{1*sin(\x)+.15*cos(2.2*\x)}) circle(.5);
\draw ({2.5*cos(\x)},{1*sin(\x)+.15*cos(2.2*\x)}) node {$\varphi_{\delta}^{\pm}$};
\draw ({2.5*cos(\x)},{1*sin(\x)+.15*cos(2.2*\x)})++(-.37,.6) node {$U_{\delta}^{\pm}$};
\draw ({2.5*cos(\x)},{1*sin(\x)+.15*cos(2.2*\x)})++(-.1,.2) node {$K_{\delta}^{\pm}$};
\end{tikzpicture}
\caption{The contruction of cut-off functions}\label{Fig4}
\end{figure}][1]][1]

数字

谢谢

答案1

您可以将节点与拟合库一起使用,它会为您完成大部分工作:

\documentclass[border=5pt]{standalone}

\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{fit}

\begin{document}
\begin{tikzpicture}[scale=0.6] %this scales the whole image

\node[circle,draw] (+) {$\begin{gathered}k_\delta^+\\\varphi_S^+\end{gathered}$};
\node[fit=(+),draw,dashed,circle,label=above left:$U_S^+$] (U+) {};

\node[circle,draw,right=50pt of +] (-) {$\begin{gathered}k_\delta^-\\\varphi_S^-\end{gathered}$};
\node[fit=(-),draw,dashed,circle,label=above right:$U_S^+$](U-){};

\node[fit=(U+) (U-),ellipse,draw,inner sep=15pt,label=above right:$\varphi$]{};

\end{tikzpicture}
\end{document}

结果是: 在此处输入图片描述

关于评论中的问题:缩放选项可以缩放大多数东西但不是所有的。节点中的许多参数不会受到影响。如果您确实想缩放所有内容(包括文本),则应使用该transform canvas选项。您可以在当前 tikz 手册的第 25.4 节中找到相关信息,或者您可以查看我对另一个问题的回答这里

使图表变小的另一种方法是减小尺寸,例如减小节点的最小尺寸、节点的内外间距以及文本大小。

相关内容