上面的例子构建了一组越来越大的圆柱体,它们彼此叠在一起,从底部开始,侧面有文字。
示例输出和代码复制于此处。来源为上述链接。
\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage{pgfplots}
\definecolor{myellow}{RGB}{228,212,0}
\definecolor{mgreen}{RGB}{5,104,57}
\newcommand\funnel[3]{%
\pgfmathsetmacro\mwid{(2+\xi*.7)}
\pgfmathsetmacro\marc{\mwid-.4}
\begin{scope}[%
shift={(0,#1)},
line width=.05pt,
%x=5mm,
%scale=1.\xi,
yshift=\xi*12
]
\draw[black,bottom color=#2, top color=#2] (-\mwid,0) -- (-\mwid+.4,-1) arc (190:350:\marc cm and 5mm) -- (\mwid,0);
\draw[black,fill=#3] (0,0) ellipse (\mwid cm and 5mm);
\path (-\mwid,0) -- (-\mwid+.4,-1) coordinate[midway] (a\xi);
\end{scope}
}
\begin{document}
\begin{tikzpicture}%
latent/.style={%
,circle
,draw
,thick
,minimum size=10mm
}
\foreach \text
[%
count=\xi starting from 0,
evaluate=\xi as \shadecolor using int(25*\xi),
evaluate=\xi as \coord using int(\xi-12)
]
in {%
Discuss and conclude\\overall findings,
Combine the data\\\tiny\itshape (synthesis or meta-analysis),
Assess the quality\\of the studies,
Extract data from the studies
}{%
\funnel{\coord}{mgreen!\shadecolor !myellow}{mgreen!\shadecolor !myellow}
\node[align=right, anchor=east, inner sep=10pt, font=\scriptsize, text width=2cm] at (a\xi) {\text};
}
\end{tikzpicture}
\end{document}
我正在寻找两件事:
- 一组任意数量的越来越大的圆柱体,彼此叠放在一起,从顶部开始,侧面写有文字。
- 沿着越来越大的圆柱体,从顶部开始,将任意数量的越来越小的圆柱体堆叠在一起,侧面有文字。(实际上与示例相同,但不是从底部开始向上,而是从顶部开始向下。)
理想情况下,从 1 开始的最后一个(也是最宽的)圆柱体的尺寸将平滑过渡到从 2 开始的最顶部圆柱体。
换句话说,我希望一组圆柱体在我们向下移动时首先扩大,然后缩小。
到目前为止,我一直funnel
在尝试各种正负号组合来调整该函数,例如\xi
,\mwid
等。但这些组合都没有奏效。令人尴尬的是,虽然示例代码生成了一组几乎符合我要求的奇妙圆柱体,但其中的 PGF/TikZ 代码对我来说太高级了。
**编辑:1. 添加被截断的最后一句话;2. 我尝试创建我想要的内容的步骤。