cylinder node with opacity

Viewed 219

I am creating a node with multiple cylinders with opacity and orientation. I would like to image to appear something similar as shown in the image:

1

Specifically, I need to manage the circular orientation like bullseye so that I can place the text in the circle. Any suggestions how can I create 'really similar' image like this.

My minimal code example

%===============

\documentclass[tikz,border=2pt]{standalone}

\usetikzlibrary{shapes.geometric}

\begin{document}

\begin{tikzpicture}
  \node (n1) [cylinder, shape border rotate=180, draw, minimum height=20mm, minimum width=8.5mm,fill=blue!20,opacity=.5,rotate=18] {};

  \node (n2) [cylinder, shape border rotate=180, draw, minimum height=18mm, minimum width=6.5mm,fill=blue!30,opacity=.5,rotate=18] {};

  \node (n3) [cylinder, shape border rotate=180, draw, minimum height=16mm, minimum width=4.5mm,fill=purple!30,opacity=.5,rotate=18] {};

\end{tikzpicture}

\end{document}

%===============
1 Answers

With xshift you can move the cylinders to a common plane. Additionally you can use the aspect key to get a bit closer to your image.

\documentclass[tikz,border=2pt]{standalone}

\usetikzlibrary{shapes.geometric}

\begin{document}

\begin{tikzpicture}
  \node (n1) [cylinder, shape border rotate=150, draw, minimum height=20mm, minimum width=8.5mm,fill=blue!20,opacity=.5,rotate=18] {};

  \node (n2) [cylinder, shape border rotate=180, draw, minimum height=18mm, minimum width=6.5mm,fill=blue!30,opacity=.5,rotate=18,xshift=-0.95mm,aspect=0.75] {};

  \node (n3) [cylinder, shape border rotate=180, draw, minimum height=16mm, minimum width=4.5mm,fill=purple!30,opacity=.5,rotate=18,xshift=-1.9mm,aspect=0.5] {};

\end{tikzpicture}

\end{document}

enter image description here

Related