¿Cómo dibujar un gráfico de horizonte en tikz?

¿Cómo dibujar un gráfico de horizonte en tikz?

EntoncesHorizonte Cuadroluciendo así: ingrese la descripción de la imagen aquí

Permite una representación simple de páginas de gráficos de funciones que se pueden examinar individualmente, pero al mismo tiempo muestra el panorama general y las correlaciones de funciones. Además, los Horizon Charts se pueden imprimir fácilmente en formatos en blanco y negro.

En resumen, la idea de dicho gráfico es que para cada fila ise obtiene a Y_i=F_i(X)y se traza de modo que para cada fila, si Y_i > RowHeightobtenemos una capa superpuesta y YY_i = YY_i - RowHeight; si YY_i > RowHeightobtenemos la siguiente capa superpuesta, etc. Lo que sucede con cada función de fila se describe bien en la figurade aquí:

ingrese la descripción de la imagen aquí

se convierte en

ingrese la descripción de la imagen aquí

Entonces, ¿cómo se dibuja un gráfico de horizonte estático usando tikz?

Respuesta1

Puede que no entienda bien la pregunta, pero según yo la leo, solo se necesitan clips y pequeños cambios relativos.

\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\newsavebox\DuckBox
\sbox\DuckBox{\begin{tikzpicture}[trig format=rad]
 \fill[blue!20] plot[variable=\x,domain=0:10,samples=31,smooth] 
  (\x,{1.5+(1+0.5*rnd)*sin(\x)*sin(\x)}) |- (0,0);
 \fill[blue!40] plot[variable=\x,domain=0:10,samples=61,smooth] 
  (\x,{1+(1+0.5*rnd)*sin(\x)*sin(\x)*sin(2*\x)*sin(2*\x)}) |- (0,0);
 \fill[blue!60] plot[variable=\x,domain=0:10,samples=61,smooth] 
  (\x,{0.5+(1+0.5*rnd)*sin(\x)*sin(\x)*sin(2*\x)*sin(2*\x)}) |- (0,0);
\end{tikzpicture}}
\begin{document}
\begin{tikzpicture}
\foreach \X [count=\Y] in {pft,blub,bla,quack,meow}
 {\begin{scope}
  \clip (-5,\Y*0.52) rectangle (5,0.5+\Y*0.52);
  \node[anchor=south] at (0,0.2+\Y*0.15) {\usebox\DuckBox};
  \node[anchor=south west,font=\sffamily] at (-5,\Y*0.52) {\X};
 \end{scope}}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Para la nueva versión de la pregunta, la respuesta es cualitativamente la misma.

\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\newsavebox\DuckBox
\sbox\DuckBox{\begin{tikzpicture}[trig format=rad]
 \path[save path=\pathA] plot[variable=\x,domain=0:10,samples=151] 
  (\x,{-(1.2+0.5*rnd)*sin(1.15*\x-1)+0.5*sin(2*\x)+\x/3}) |- (0,0);
 \foreach [count=\Y starting from 0] \X in 
    {blue!20,orange!20,orange!40,orange!60,orange!80}
  {\begin{scope}
    \clip (0,1.5*\Y-1.5) rectangle (10,1.5*\Y);
    \fill[\X,use path=\pathA];
   \end{scope}}
\end{tikzpicture}}
\begin{document}
\begin{tikzpicture}
\node[anchor=south west,outer sep=0pt,inner sep=0pt] 
  at (0,4) {\usebox\DuckBox};
\clip (0,0) rectangle (10,1.5);
\node[anchor=south west,outer sep=0pt,inner sep=0pt,yscale=-1] 
  at (0,1.5) {\usebox\DuckBox};
\foreach \Y in {1,...,4}
 {\node[anchor=south west,outer sep=0pt,inner sep=0pt] 
  at (0,-1.5*\Y) {\usebox\DuckBox};
 }
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada