答案1
这并非小事,但也不算太难:
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{positioning, shapes.arrows, backgrounds}
\begin{document}
\begin{tikzpicture}[
myarrow/.style={single arrow,
draw=blue!80,
fill=#1,
single arrow head extend=1mm
}]
\node[myarrow=violet, label={[violet]below:cooA}, minimum height=1cm] (cooA) {};
\node[circle, draw=blue!80, fill=blue!60, right=2mm of cooA] (c) {};
\node[myarrow=blue!60, label={[blue!60]below:cooS}, minimum height=1.5cm, right=1mm of c] (cooS) {};
\node[myarrow=red, label={[red]below:cooC}, minimum height=.7cm, right=0pt of cooS] (cooC) {};
\begin{scope}[on background layer]
\draw[blue!80] ([xshift=-1cm]cooA.west)--(cooC.east);
\end{scope}
\end{tikzpicture}
\end{document}