![如何在 tikz 中建構圓柱體,如本例所示](https://rvso.com/image/327773/%E5%A6%82%E4%BD%95%E5%9C%A8%20tikz%20%E4%B8%AD%E5%BB%BA%E6%A7%8B%E5%9C%93%E6%9F%B1%E9%AB%94%EF%BC%8C%E5%A6%82%E6%9C%AC%E4%BE%8B%E6%89%80%E7%A4%BA.png)
我想製作一個類似的圖形,如下所示,但具有不同的文字:
因為我剛剛做了 2D 圖形,你能給我一個如何在 Ti 中做到這一點的起始提示嗎?kZ?
到目前為止,這是我不完整的 MWE:
\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{positioning, shapes}
\begin{document}
\begin{tikzpicture}%
,>=latex
,latent/.style={%
,circle
,draw
,thick
,minimum size=10mm
}
%node section
\node (question) {Identify the issue and determine the question};
\node (plan) [below = of question] {Write plan for the review (protocol)};
\node (studies) [below = of plan] {Search for studies};
\fill[red] (0,-4) circle (0.25);
\fill[red] (1,-4.5) circle (0.25);
\fill[red] (-1.5,-4.5) circle (0.25);
\fill[green] (1,-5.5) circle (0.25);
\fill[green] (-1.5,-5.7) circle (0.25);
\fill[green] (-0.5,-5.8) circle (0.25);
\begin{scope}[]
\clip[draw] (0,-6) ellipse (2cm and 1cm);
\draw[step=0.3cm, black] (-2cm,-7cm) grid (2cm,1cm);
\end{scope}
%arrow section
\draw [->](question) to node[below] {} node[above] {} (plan);
\draw [->](plan) to node[below] {} node[above] {} (studies);
\end{tikzpicture}
\end{document}
答案1
這個答案將集中在funnel
物體上,至少目前是這樣。
變化:
- 固定漏斗形狀。
- 刪除了一條
\foreach
語句並將其包含在上一條語句中。 - 更好的節點定位。
輸出
程式碼
\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
}
%node section
\node (question) {Identify the issue and determine the question};
\node (plan) [below = of question] {Write plan for the review (protocol)};
\node (studies) [below = of plan] {Search for studies};
\begin{scope}
\clip[preaction={draw, green!40!black, very thick}] (0,-6) ellipse (2 and .5);
\draw[step=0.3cm, black] (-2cm,-7cm) grid (2cm,1cm);
\end{scope}
\fill[red] (0,-4) circle (0.25);
\fill[red] (1,-4.5) circle (0.25);
\fill[red] (-1.5,-4.5) circle (0.25);
\fill[green] (1,-5.5) circle (0.25);
\fill[green] (-1.5,-5.7) circle (0.25);
\fill[green] (-0.5,-5.8) circle (0.25);
%arrow section
\draw [->](question) to node[below] {} node[above] {} (plan);
\draw [->](plan) to node[below] {} node[above] {} (studies);
\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}