Componente de series temporales (SVG)
Pieza 7 del backlog de diseño. Es el diagrama de datos que faltaba para guías de sensores ambientales, energía y audio.
Última revisión: 05/10/2026
Qué resuelve
Las curvas de temperatura, humedad, consumo eléctrico o latencia se explican mal con tablas y peor con capturas de un dashboard. Este componente da lo que necesitan los artículos del sitio: un gráfico de líneas con eje X de tiempo, eje Y con unidad, banda de umbral y rango realista.
Es SVG inline: pesa alrededor de 1,5 KB, no deja de verse en móvil y se puede copiar en una guía sin depender de ningún servicio externo.
El componente
Cómo se usa
Cambia estos sitios y listo:
viewBox="0 0 800 430"- Define el lienzo. No lo cambies salvo que rediseñes el gráfico entero.
pointsdel polyline- Cada pareja
x,yes un punto. Lasxsalen de dividir el ancho del marco, de 70 a 740, entre los intervalos de tiempo; lasyse calculan con la fórmula de abajo. yTop,yBottom, mínimos y máximos- En el ejemplo el eje Y izquierdo va de 15 a 27 °C y el derecho de 30 a 70 % HR. Cambia esos cuatro números y las etiquetas, no la geometría.
- Banda de umbral
- El rectángulo
x='70' y='118' width='670' height='129'es el rango de confort 19-24 °C. Desplázalo a la franja que te interese.
Fórmula para reescalar valores
y = yTop + (1 - (valor - minimo) / (maximo - minimo)) * (yBottom - yTop)
Con yTop=40, yBottom=350, minimo=15 y maximo=27, un valor de 24 °C da 117,5.
Esqueleto copiable
Este es el molde mínimo con ejes, banda y una serie. Añade las etiquetas y la rejilla que necesites; las tienes en el componente de arriba. Si pones más de un gráfico en la misma página, renombra id="s-titulo" e id="s-desc" para que no se repitan.
<figure class="serie-temporal" style="background:#0b0f14;border:1px solid #263140;border-radius:8px;padding:1rem;max-width:100%;box-sizing:border-box;">
<svg viewBox="0 0 800 430" role="img" aria-labelledby="s-titulo s-desc" style="width:100%;height:auto;display:block;">
<title id="s-titulo">Temperatura en 24 h</title>
<desc id="s-desc">Línea de temperatura entre 15 y 27 grados.</desc>
<rect x="70" y="40" width="670" height="310" fill="none" stroke="#263140"/>
<rect x="70" y="118" width="670" height="129" fill="#ffb74d" opacity="0.15"/>
<line x1="70" y1="40" x2="70" y2="350" stroke="#8b95a5" stroke-width="1.5"/>
<line x1="70" y1="350" x2="740" y2="350" stroke="#8b95a5" stroke-width="1.5"/>
<polyline fill="none" stroke="#ff9f0a" stroke-width="3" points="70,273 204,285 338,221 472,118 606,66 740,143"/>
</svg>
<figcaption>Serie temporal con banda de confort y eje de tiempo.</figcaption>
</figure>
Límites
No lo conviertas en PNG ni lo uses como miniatura de portada: es un diagrama de datos y vive dentro del artículo. La fotografía de portada sigue siendo un <img> real, con la ruta de /og/miniatura/.