Tikzpicture no muestra múltiples rellenos entre

Tikzpicture no muestra múltiples rellenos entre

Tengo el siguiente código dentro de una presentación de proyector:

\begin{frame}[c]{ }
\frametitle{Section 5.2: Definite Integral}  


\begin{center}
\begin{tikzpicture}[scale =1]
  \begin{axis}[
    axis lines=center,
    grid=major,
    xmin=-12.5,
    xmax=12.5,
    ymin=-10.5,
    ymax=10.5,
    xtick = {-12,-10,...,12}, 
    ytick = {-10,-8,...,10}, 
    yticklabel style = {font=\tiny,xshift=0.5ex},
    xticklabel style = {font=\tiny,yshift=0.5ex},
    no marks,
    axis line style={thick, <->},  
    ]
\addplot+[-, samples = 200, thin, black, domain = -12:12 , name path=A] {0};          
\addplot+[<-, samples = 200, thick, blue, domain = -11:-4 , name path=B] {0.5*(x + 4) + 4};       
\addplot+[-, samples = 200, thick, blue, domain = -4:-0 , name path=C] {4};   
\addplot+[-, samples = 200, thick, blue, domain = 0:6, name path=D] {-2*x+4};  
\addplot+[->, samples = 200, thick, blue, domain = 6:10.25, name path=E] {4*(x - 6)-8};
\addplot+[red, opacity = 0.3] fill between[of=A and B,soft clip={domain=-8:-4}]; % filling 
\addplot+[red, opacity = 0.3] fill between[of=A and C,soft clip={domain=-4:-0}]; % filling    
\addplot+[red, opacity = 0.3] fill between[of=A and D,soft clip={domain=0:6}]; % filling  
\addplot+[red, opacity = 0.3] fill between[of=A and E,soft clip={domain=6:10}]; % filling                     
\node[blue] at (axis cs:7,7){{\tiny$y = g(t)$}};            
\end{axis}
\end{tikzpicture}
\end{center} 
\end{frame}

lo que produce la siguiente imagen: ingrese la descripción de la imagen aquí

Quiero llenar toda el área bajo la curva de t = -8 a t = 10, pero solo está llenando la primera parte. ¿Cómo puedo arreglar esto?

Respuesta1

Te aconsejaría que usaras uno solo plotsiempre que sea posible, yo reproduje el tuyo usando las mismas coordenadas (para los caminos imprecisos los he superpuesto y coinciden perfectamente). Te daré también la solución con tu código, para que puedas elegir.

Tu codigo

\documentclass[tikz, margin=10pt]{standalone}
\usepackage{pgfplots}

\pgfplotsset{compat=1.17}
\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}[scale =1]
    \begin{axis}[
      axis lines=center,
      grid=major,
      xmin=-12.5,
      xmax=12.5,
      ymin=-10.5,
      ymax=10.5,
      xtick = {-12,-10,...,12}, 
      ytick = {-10,-8,...,10}, 
      yticklabel style = {font=\tiny,xshift=0.5ex},
      xticklabel style = {font=\tiny,yshift=0.5ex},
      no marks,
      axis line style={thick, <->},  
      ]
      \path[name path=axis] (axis cs:-10,0) -- (axis cs:12,0);
    \addplot+[-, samples = 200, thin, black, domain = -12:12 , name path=A] {0};          
    \addplot+[<-, samples = 200, thick, blue, domain = -11:-4 , name path=B] {0.5*(x + 4) + 4};       
    \addplot+[-, samples = 200, thick, blue, domain = -4:-0 , name path=C] {4};   
    \addplot+[-, samples = 200, thick, blue, domain = 0:6, name path=D] {-2*x+4};  
    \addplot+[->, samples = 200, thick, blue, domain = 6:10.25, name path=E] {4*(x - 6)-8};
    \addplot+[red, opacity = 0.3] fill between[of=A and B,soft clip={domain=-8:-4}]; % filling 
    \addplot+[red, opacity = 0.3] fill between[of=A and C,soft clip={domain=-4:-0}]; % filling    
    \addplot+[red, opacity = 0.3] fill between[of=A and D,soft clip={domain=0:6}]; % filling  
    \addplot+[red, opacity = 0.3] fill between[of=A and E,soft clip={domain=6:10}]; % filling                     
  \node[blue] at (axis cs:7,7){{\tiny$y = g(t)$}};            
  \end{axis}
  \end{tikzpicture}
\end{document}

Parcela única

\documentclass[tikz, margin=10pt]{standalone}
\usepackage{pgfplots}

\pgfplotsset{compat=1.17}
\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
      axis lines=center,
      grid=major,
      xmin=-12.5,
      xmax=12.5,
      ymin=-10.5,
      ymax=10.5,
      xtick = {-12,-10,...,12}, 
      ytick = {-10,-8,...,10}, 
      yticklabel style = {font=\tiny,xshift=0.5ex},
      xticklabel style = {font=\tiny,yshift=0.5ex},
      no marks,
      axis line style={thick, <->},  
      ]
    \addplot+[<->, samples=200, thick, blue, name path=myplot] coordinates {
        (-11,.5) (-4,4) (0,4) (6,-8) (10.25,9)
    };
    \path[name path=axis] (axis cs:-10,0) -- (axis cs:12,0);
    \addplot+[red, opacity = 0.3] fill between[of=myplot and axis,soft clip={domain=-8:10}]; % filling                     
\node[blue] at (axis cs:7,7){{\tiny$y = g(t)$}};            
\end{axis}
\end{tikzpicture}
\end{document}

Y el resultado en ambos casos es:

ingrese la descripción de la imagen aquí

información relacionada