我对乳胶中的图表还比较陌生。
基本上我想画一个如下图所示的图表。它不完全一样,但围绕该内容。
\usepackage{tikz}
\begin{tikzpicture}
\draw (2,2) circle (3cm);
\end{tikzpicture}
答案1
这些都不难,而且大多数事情已经在某个地方完成了。所以你需要做的就是谷歌搜索,把这里和那里的碎片拼凑在一起。环形阴影来自这里,fancy arrow
来自这里其余部分来自 pgf 手册。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{decorations.pathreplacing,calc}
\makeatletter%https://tex.stackexchange.com/a/82432
\pgfdeclareradialshading[tikz@ball]{ring}{\pgfpoint{0cm}{0cm}}%
{rgb(0cm)=(1,1,1);
rgb(0.719cm)=(1,1,1);
rgb(0.72cm)=(1,1,1);
color(0.9cm)=(tikz@ball!60)}
\tikzoption{ring color}{\pgfutil@colorlet{tikz@ball}{#1}\def\tikz@shading{ring}\tikz@addmode{\tikz@mode@shadetrue}}
\makeatother
\begin{document}
\begin{tikzpicture}[fancy arrow/.style={decorate,decoration={ % https://tex.stackexchange.com/a/500018
show path construction,
curveto code={
\draw[top color=blue!30,bottom color=blue]
let \p1=($(\tikzinputsegmentsupporta)-(\tikzinputsegmentfirst)$) in
[/utils/exec=\pgfmathsetmacro{\mysign}{sign(\x1)}]
([yshift=-3.5pt]\tikzinputsegmentfirst) .. controls
([yshift=-3.5pt]\tikzinputsegmentsupporta) and ([yshift=-3.5pt]\tikzinputsegmentsupportb)
..([yshift=-3.5pt,xshift=\mysign*3pt]\tikzinputsegmentlast)
-- ([yshift=-3.5pt,xshift=\mysign*3.5pt]\tikzinputsegmentlast)
-- ([yshift=-5.5pt,xshift=\mysign*3.5pt]\tikzinputsegmentlast)
-- (\tikzinputsegmentlast)
-- ([yshift=5.5pt,xshift=\mysign*3.5pt]\tikzinputsegmentlast)
-- ([yshift=3.5pt,xshift=\mysign*3.5pt]\tikzinputsegmentlast)
.. controls
([yshift=3.5pt]\tikzinputsegmentsupportb) and ([yshift=3.5pt]\tikzinputsegmentsupporta)
.. ([yshift=3.5pt]\tikzinputsegmentfirst) -- cycle;}}},
pics/fancy circle/.style={code={
\path[even odd rule,fill=#1!60,path picture={
\draw[line width=6mm,#1!20] ([yshift=3mm]path picture bounding box.west)
to[out=-20,in=-120] ([xshift=5mm]path picture bounding box.north);
}]
circle[radius=\pgfkeysvalueof{/tikz/fancy circle/radius}]
circle[radius=0.8*\pgfkeysvalueof{/tikz/fancy circle/radius}];
\path[even odd rule,ring color=#1]
circle[radius=0.8*\pgfkeysvalueof{/tikz/fancy circle/radius}]
circle[radius=0.8*\pgfkeysvalueof{/tikz/fancy circle/radius}-1mm];}},
fancy circle/radius/.initial=1.55cm,
pics/arr/.style={code={\draw[#1,top color=#1!20,bottom color=#1]
(45:0.5) -- ++ (0.3,0) -- ++ (-45:0.5) -- ++(-135:0.5) --++ (-0.3,0)
-- ++ (45:0.5) -- cycle;}}]
%
\path(-4,0) pic{fancy circle=blue} node[font=\large\sffamily]{AAA}
(-2.7,0) pic{arr=blue}
(0,0) pic{fancy circle=purple} node[font=\sffamily]{Transformation}
(1.3,0) pic{arr=purple}
(4,0) pic{fancy circle=orange} node[font=\large\sffamily]{AAA} ;
\path (0,-2.5) node[top color=white,bottom color=green!30,rounded
corners=3pt,draw=green!40,font=\sffamily\Large,minimum height=1cm,
minimum width=2cm](H) {HUMAN};
\draw[fancy arrow] (H.east) to[out=0,in=0,looseness=1.5]++(0,1);
\draw[fancy arrow] ([yshift=1cm]H.west)
to[out=180,in=180,looseness=1.5] (H.west);
\end{tikzpicture}
\end{document}