
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:
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 plot
siempre 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: