Nuestros investigadores estrellas han agotado sus reservas de café, en su búsqueda a tiempo completo por la solución, hasta que Israel encontró la contestación en Beanstalk así que hoy la comparte con nosotros.
Solución:
También puedes usar line width
para dibujar el rectángulo de color. Y defina el sombreado de color dentro de la foreach
.
documentclassarticle
newcommandImageWidth11cm
usepackagetikz
usetikzlibrarydecorations.pathreplacing,positioning, arrows.meta
begindocument
begintikzpicture
% draw horizontal line
draw[thick, -Triangle] (0,0) -- (ImageWidth,0) node[font=scriptsize,below left=3pt and -8pt]years;
% draw vertical lines
foreach x in 0,1,...,10
draw (x cm,3pt) -- (x cm,-3pt);
foreach x/descr in 4/t-2,5/t-1,6/t,7/t+1
node[font=scriptsize, text height=1.75ex,
text depth=.5ex] at (x,-.3) $descr$;
% colored bar up
foreach x/perccol in
1/100,2/75,3/25,4/0
draw[lightgray!perccol!red, line width=4pt]
(x,.5) -- +(1,0);
draw[-Triangle, dashed, red] (5,.5) -- +(1,0);
% colored bar down
foreach x/perccol in
3/100,4/75,5/0
draw[lightgray!perccol!green, line width=4pt]
(x,-.7) -- +(1,0);
draw[-Triangle, dashed, green] (6,-.7) -- +(1,0);
% braces
draw [thick ,decorate,decoration=brace,amplitude=5pt] (4,0.7) -- +(2,0)
node [black,midway,above=4pt, font=scriptsize] Training period;
draw [thick,decorate,decoration=brace,amplitude=5pt] (6,-.9) -- +(-1,0)
node [black,midway,font=scriptsize, below=4pt] Testing period;
endtikzpicture
enddocument
Hay algunos problemas con su código:
- Estás usando muchos
ultra thick
Líneas que no son realmente necesarias. - Tienes un poco
xshift
valores para las llaves que los mueven fuera de su posición correcta. - La sintaxis de su nodo para etiquetar el eje podría ser mucho más corta.
- Te estás perdiendo el
decorations
biblioteca que hace que su código no sea compilable.
Limpié un poco tu código y terminé con esto (que probablemente aún no sea perfecto):
documentclass[border=2mm]standalone
usepackagetikz
usetikzlibrarydecorations.pathreplacing
definecolormyLightGrayRGB191,191,191
definecolormyGrayRGB160,160,160
definecolormyDarkGrayRGB144,144,144
definecolormyDarkRedRGB167,114,115
definecolormyRedRGB255,58,70
definecolormyGreenRGB0,255,71
begindocument
begintikzpicture[%
every node/.style=
font=scriptsize,
% Better alignment, see https://tex.stackexchange.com/questions/315075
text height=1ex,
text depth=.25ex,
,
]
% draw horizontal line
draw[->] (0,0) -- (8.5,0);
% draw vertical lines
foreach x in 0,1,...,8
draw (x cm,3pt) -- (x cm,0pt);
% place axis labels
node[anchor=north] at (3,0) $t-2$;
node[anchor=north] at (4,0) $t-1$;
node[anchor=north] at (5,0) $t$;
node[anchor=north] at (6,0) $t+1$;
node[anchor=north] at (8.5,0) years;
% draw scale above
fill[myLightGray] (1,0.25) rectangle (2,0.4);
fill[myDarkGray] (2,0.25) rectangle (3,0.4);
fill[myDarkRed] (3,0.25) rectangle (4,0.4);
fill[myRed] (4,0.25) rectangle (5,0.4);
draw[myRed,dashed,thick,-latex] (5.05,0.325) -- (6.05,0.325);
% draw scale below
fill[myLightGray] (3,-0.4) rectangle (4,-0.55);
fill[myGray] (4,-0.4) rectangle (5,-0.55);
fill[myGreen] (5,-0.4) rectangle (6,-0.55);
draw[myGreen,dashed,thick,-latex] (6.05,-0.475) -- (7.05,-0.475);
% draw curly braces and add their labels
draw[decorate,decoration=brace,amplitude=5pt] (3,0.45) -- (5,0.45)
node[anchor=south,midway,above=4pt] Training period;
draw[decorate,decoration=brace,amplitude=5pt] (6,-0.6) -- (5,-0.6)
node[anchor=north,midway,below=4pt] Testing period;
endtikzpicture
enddocument
Eres capaz de respaldar nuestra labor fijando un comentario o valorándolo te lo agradecemos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)