Diagrama de línea de tiempo

Sobre las líneas de tiempo

Un diagrama de línea de tiempo organiza eventos a lo largo de un eje de tiempo compartido para que las relaciones cronológicas sean inmediatamente visibles. Los gestores de proyectos los usan para mostrar calendarios de sprints e hitos; los historiadores los usan para situar descubrimientos en contexto; los periodistas los usan para reconstruir secuencias de eventos; los investigadores clínicos los usan para mapear cursos de tratamiento. La forma visual no tiene un estándar rector único, pero las convenciones son universales: el tiempo corre de izquierda a derecha, los eventos se marcan en sus fechas y los rangos muestran la duración.

Schematex renderiza líneas de tiempo en tres estilos visuales — swimlane (eventos distribuidos arriba y abajo de un eje), gantt (barras de duración horizontales, útiles para planificación de proyectos) y lollipop (marcadores de punto en palito, útiles para retrospectivas históricas). Los tres comparten el mismo DSL; la clave de config style cambia entre ellos.

timeline·§
↘ preview
100%
Timeline — History of the Web Schematex timeline diagram History of the Web World Wide Web — Berners-…1991 Mosaic browser1993 JavaScript — Brendan Eich1995 Google founded1998 Facebook launches2004 iPhone — mobile web era2007 Node.js — server-side Jav…2009 ES6 / React mainstream2015 ChatGPT — AI era begins2022 1995 2000 2005 2010 2015 2020
UTF-8 · LF · 12 lines · 550 chars✓ parsed·0.8 ms·10.4 KB SVG

1. Tu primera línea de tiempo

La línea de tiempo mínima útil: un título, dos eventos ordinarios y un hito.

timeline·§
↘ preview
100%
Timeline — Product Launch Schematex timeline diagram Product Launch Development complete Closed beta Public launch 2024 2025 2025 2025 2025
UTF-8 · LF · 4 lines · 124 chars✓ parsed·0.4 ms·5.8 KB SVG

Cuatro reglas cubren el 80 % del uso:

  1. Comienza con la palabra clave timeline, seguida opcionalmente de un título entre comillas.
  2. Cada evento es FECHA: "Etiqueta" — una fecha, dos puntos, luego una etiqueta entre comillas. La palabra clave milestone antes de la etiqueta marca el evento como hito.
  3. Los rangos de fecha usan FECHA - FECHA: o FECHA .. FECHA: (ambos son equivalentes).
  4. Agrega propiedades [clave: valor] después de la etiqueta entre comillas para establecer color, posición lateral, forma o categoría.

Los comentarios deben comenzar con # o // en su propia línea.


2. Eventos

Una línea de evento coloca un marcador etiquetado en un punto en el tiempo (o una barra en un rango).

2.1 Eventos puntuales

2024-09-15: "Conference keynote"

2.2 Eventos de rango

2024-06-01 - 2024-08-31: "Q3 development sprint"
2024-06-01 .. 2024-08-31: "Q3 development sprint"

Ambos separadores (- rodeado de espacios, o ..) son equivalentes.

2.3 Hitos

2024-09-01: milestone "Public launch"

La palabra clave milestone antes de la etiqueta entre comillas cambia el marcador a forma de rombo.

2.4 Propiedades de evento

Las propiedades van en [clave: valor, …] después de la etiqueta entre comillas, antes del salto de línea.

PropiedadValoresSignificado
color:cadena hexColor personalizado para este marcador o barra
side:above | belowForzar posición arriba o abajo del eje (swimlane / lollipop)
icon:cualquier texto (p. ej. emoji)Icono mostrado con el evento
shape:circle | square | diamond | star | flagForma del marcador puntual
category:cadena entre comillasEtiqueta de grupo — controla el color en la leyenda de gantt
2024-09-01: milestone "Launch day" [color: #E53935, side: above]
2024-07-15: "Beta ships" [icon: 🚀, category: "product"]
timeline·§
↘ preview
100%
Timeline — Engineering Milestones Schematex timeline diagram Engineering Milestones Sprint planning complete2024-01-08 Design system shipped2024-02-14 ⚠️ Incident — 4h outage2024-03-22 API v2 GA2024-07-01 2024 2024 2024 2024 2024 2024 2024 2024 2024 2024
UTF-8 · LF · 8 lines · 324 chars✓ parsed·0.7 ms·8.3 KB SVG

3. Formatos de fecha

Todos los formatos de fecha pueden aparecer donde se espere una fecha — en eventos, eras y rangos.

FormatoEjemploNotas
Fecha completa2024-09-15Precisión de día; YYYY-MM-DD
Año-mes2024-09Precisión de mes
Año2024Precisión de año
Trimestre2024-Q3Mapea al inicio de ese trimestre
Año a. C. (negativo)-753753 a. C.
Año a. C. (sufijo)753BC o 753BCEIgual que -753
Geológico65Ma, 4.6Ga, 12kaMillones / miles de millones / miles de años atrás
timeline·§
↘ preview
100%
Timeline — Age of Earth Schematex timeline diagram Age of Earth Earth forms4600Ma Cambrian explosion540Ma Permian extinction — 96% …252Ma K-Pg extinction — end of …66Ma Earliest stone tools (Lom…3Ma Present day0 1 yr 10 yr 100 yr 1 ka 10 ka 100 ka 1 Ma 10 Ma 100 Ma 1000 Ma
UTF-8 · LF · 10 lines · 297 chars✓ parsed·0.5 ms·9.3 KB SVG

4. Eras (franjas de fondo)

Una línea era dibuja una banda de fondo sombreada a lo largo del eje de tiempo. Siempre requiere un rango de fechas.

era 2020 - 2022: "Foundation Phase"
era 2022 .. 2025: "Growth Phase" [color: #E8F5E9]

La propiedad [color: …] es opcional. Las eras que se solapan se apilan en bandas separadas automáticamente.

timeline·§
↘ preview
100%
Timeline — Company History Schematex timeline diagram Company History Early Stage Series A & B Founded First paying customer Product-market fit Series A — $8M Series B — $30M Profitability 2019 2020 2020 2021 2021 2022 2022 2023 2023 2024 2024
UTF-8 · LF · 12 lines · 377 chars✓ parsed·0.6 ms·8.2 KB SVG

5. Carriles (agrupación swimlane)

Un bloque track agrupa eventos relacionados en un carril con nombre. Las líneas de evento indentadas (2 espacios) pertenecen al carril.

track "Engineering":
  2024-01-15 - 2024-03-31: "API design"
  2024-04-01 - 2024-07-31: "Implementation"

track "Marketing":
  2024-06-01: "Campaign kick-off"
  2024-09-01: milestone "Launch campaign" [color: #1B5E20]

Los carriles son más útiles en el estilo gantt, donde cada carril se convierte en su propio carril de barra etiquetado.

timeline·§
↘ preview
100%
Timeline — Q3 Project Plan Schematex timeline diagram Q3 Project Plan Tasks Database migration New design system Staging environment API hardening Integration & QAGo-live Teams Tasks 2025 2025 2025 2025 2025 2025
UTF-8 · LF · 14 lines · 374 chars✓ parsed·0.7 ms·7.3 KB SVG

6. Notas

Una línea note: indentada bajo un evento adjunta una anotación de tooltip.

2024-06-01: "Beta launch"
  note: "First external users; NPS target 40+"

Las notas funcionan tanto para eventos planos como para eventos dentro de carriles.


7. Configuración

Las líneas config: ajustan el diseño y el estilo visual. Cada una es su propia línea con la forma config: clave = valor.

ClaveValoresPor defectoEfecto
styleswimlane | gantt | lollipopswimlaneModo de renderizado visual
orientationhorizontal | verticalhorizontalDirección del eje
scaleproportional | equidistant | logproportionalCómo el tiempo se mapea al espacio en pantalla
axisbottom | centerbottomDónde se dibuja el eje de tiempo

Notas de estilo:

  • swimlane — los eventos se alternan arriba y abajo de un eje horizontal; side: controla el posicionamiento por evento. Las eras añaden bandas de fondo coloreadas. Ideal para hojas de ruta y biografías.
  • gantt — cada carril nombrado se convierte en un carril de barra horizontal; los hitos se convierten en pines sobre las barras. gantt-project es un alias. Ideal para planificación de proyectos.
  • lollipop — un eje central con tarjetas etiquetadas en palitos alternos. Ideal para retrospectivas históricas con eventos dispersos y memorables.

Swimlane — hojas de ruta, líneas de tiempo de productos, biografías. Las eras añaden bandas de color; los eventos se alternan arriba y abajo.

timeline·§
↘ preview
100%
Timeline — SaaS Platform Roadmap Schematex timeline diagram SaaS Platform Roadmap Foundation Growth API v2 build Performance & scaling Kick-off & team onboarding Architecture sign-off Security audit Beta launch General availability 2024 2024 2024 2024 2024 2024 2025 2025 2025
UTF-8 · LF · 13 lines · 507 chars✓ parsed·0.7 ms·8.3 KB SVG

Gantt — carriles paralelos con barras de duración horizontales y pines de hito. Ideal para planificación de proyectos.

timeline·§
↘ preview
100%
Timeline — Product Launch — Q4 Schematex timeline diagram Product Launch — Q4 Tasks Feature freeze & hardening Final UI polish Campaign prep Asset delivery Launch campaign Load testingLaunch day Teams Tasks 2025 2025 2025 2025 2025 2025 2025 2025 2025
UTF-8 · LF · 15 lines · 426 chars✓ parsed·0.6 ms·8.1 KB SVG

Lollipop — hitos dispersos en un eje central con tarjetas alternas. Ideal para retrospectivas históricas y relatos de marca.

timeline·§
↘ preview
100%
Timeline — History of Computing Schematex timeline diagram History of Computing Turing — On Computable Nu…1936 ENIAC — first general-pur…1945 ARPANET1969 Intel 4004 microprocessor1971 Apple I1976 World Wide Web (Berners-L…1991 iPhone2007 1940 1950 1960 1970 1980 1990 2000
UTF-8 · LF · 11 lines · 353 chars✓ parsed·0.6 ms·9.1 KB SVG

8. Etiquetas y comentarios

  • Título: timeline "Mi título" — solo en la primera línea.
  • Etiqueta de evento: cadena entre comillas después de los dos puntos: FECHA: "Etiqueta".
  • Etiqueta de hito: FECHA: milestone "Etiqueta".
  • Etiqueta de era: era FECHA - FECHA: "Etiqueta".
  • Nombre de carril: track "Nombre":.
  • Nota: note: "texto" indentado bajo un evento.
  • Comentarios: # o // al inicio de una línea (después del espacio en blanco inicial).

9. Palabras reservadas y escapado

Reservadas al inicio de línea: timeline (encabezado), config:, era, track, note:.

Separadores de rango de fechas: - (espacio-guion-espacio) y .. — evita estas secuencias dentro del texto de etiqueta que aparece antes de los dos puntos.

Años a. C. como enteros negativos: -753 es el año 753 a. C. El parser distingue el signo negativo de un separador de rango verificando el espacio en blanco circundante — - (con espacios) es un rango; -753 (sin espacio inicial después de dos puntos) es un año a. C.

Bloques de propiedades: [clave: valor] debe aparecer después de la etiqueta entre comillas en la misma línea. El ] de cierre debe estar presente; los corchetes sin cerrar producen un error de análisis.


10. Errores comunes

Lo que escribisteDice el parserSolución
2024-06-01: Launch day (etiqueta sin comillas)Línea no reconocida como evento — TimelineParseErrorPon la etiqueta entre comillas: 2024-06-01: "Launch day"
2024-06 - 2024-09: "Q3" (rango año-mes)Analizado correctamenteEsto funciona — todos los formatos de fecha son válidos en rangos
era 2024: "Whole year" (sin rango)TimelineParseError: era requires a date rangeUsa un rango: era 2024 - 2024: "Whole year"
track "Backend" (sin dos puntos)TimelineParseError: Expected ':' after track nameAñade los dos puntos: track "Backend":
2024-01-01: "Event" [side: left]side: left se ignora silenciosamente; solo above y below son válidosUsa side: above o side: below
config: style = Gantt (G mayúscula)TimelineParseError: Invalid style: GanttUsa minúsculas: config: style = gantt
2024-01-01-2024-03-31: "Q1" (sin espacios alrededor de -)El parser lee 2024-01-01-2024 como fecha — fallaUsa espacios: 2024-01-01 - 2024-03-31: o ..: 2024-01-01..2024-03-31:
Evento indentado sin carrilLas líneas indentadas bajo el encabezado de la línea de tiempo que no están dentro de un bloque track — analizadas como eventos planosSolo indenta eventos que estén dentro de un bloque track "Nombre":

11. Gramática (EBNF)

document     = header ( blank | comment | config | era | track | event )*

header       = "timeline" ( WS quoted-string )? NEWLINE
quoted-string = '"' any-char-but-quote* '"'

config       = "config:" WS key WS "=" WS value NEWLINE
key          = "style" | "orientation" | "scale" | "axis"

era          = "era" WS date-range ":" WS quoted-string ( WS props )? NEWLINE
track        = "track" WS quoted-string ":" NEWLINE
                 ( INDENT≥2 event | INDENT≥2 note )*

event        = date-spec ":" WS event-body ( WS props )? NEWLINE
               ( INDENT note )?
event-body   = ( "milestone" WS )? quoted-string
date-spec    = date ( ( " - " | ".." ) date )?

note         = "note:" WS quoted-string NEWLINE

props        = "[" prop-list "]"
prop-list    = prop ( "," prop )*
prop         = key ":" WS value
             | key ":" WS quoted-string

date         = iso-date | year-month | year | quarter | bc-year | geological
iso-date     = digit{4} "-" digit{2} "-" digit{2}
year-month   = digit{4} "-" digit{2}
year         = "-"? digit{1,5}
quarter      = digit{4} "-"? "Q" [1-4]
bc-year      = digit+ ( "BC" | "BCE" )
geological   = number ( "Ma" | "Ga" | "ka" )

comment      = ( "#" | "//" ) any NEWLINE

Fuente autoritativa: src/diagrams/timeline/parser.ts. Si esto diverge del parser, el parser tiene prioridad — por favor abre un issue.


12. Conformidad con el estándar

Los diagramas de línea de tiempo no tienen un estándar rector único. Schematex sigue convenciones de visualización establecidas:

  • Estilo swimlane — adaptado de la convención de línea de tiempo horizontal usada en historiografía académica y gestión de proyectos (PMI PMBOK).
  • Estilo gantt — sigue la forma de diagrama de Gantt introducida por Henry Gantt (1910–1915); el diseño de barra por carril coincide con la convención de programación de proyectos ISO 21500.
  • Estilo lollipop — sigue la convención de diagrama de puntos / gráfico de tallos común en periodismo de datos e infografías.

Lo que está implementado actualmente:

  • ✅ Tres estilos visuales: swimlane, gantt, lollipop
  • ✅ Orientación horizontal y vertical
  • ✅ Tres modos de escala: proporcional, equidistante, log
  • ✅ Eventos puntuales, eventos de rango (barras) y marcadores de hito
  • ✅ Eras (bandas de sombreado de fondo)
  • ✅ Carriles con nombre (filas de swimlane)
  • ✅ Notas de evento
  • ✅ Seis formatos de fecha: fecha completa, año-mes, año, trimestre, año a. C., geológico (Ma/Ga/ka)
  • ✅ Propiedades de evento: color, side, icon, shape, category
  • ⏳ Renderizado de orientación vertical (analizado, diseño aún no implementado)
  • ⏳ Renderizado de escala log (analizado, el diseño trata como proporcional hoy)
  • ⏳ Etiquetas de marcas del eje con cadenas de formato personalizadas
  • ⏳ Conectores de eventos (flechas entre eventos relacionados)

Referencias:

  • Gantt, H.L. (1910). Work, Wages, and Profits. Engineering Magazine.
  • Tufte, E.R. (1983). The Visual Display of Quantitative Information. — La línea de tiempo como pequeños múltiplos.

13. Hoja de ruta

Planificado — aún no analizable. No uses esto en el DSL generado hoy; el parser lo rechazará o ignorará.

  • Conectores de eventos — flechas connect ev1 -> ev2 [label: "causes"] que vinculan dos eventos a través del tiempo.
  • Repetición / recurrenciaevery 2024-Q1 .. 2024-Q4 monthly: "Sprint review" para eventos regulares.
  • Formato de marcas del ejeconfig: tickFormat = "%b %Y" para visualización de fecha personalizada en el eje.
  • Orientación verticalconfig: orientation = vertical con eventos a la izquierda/derecha de un eje vertical (analizado; renderizado diferido).
  • Escala logconfig: scale = log para rangos geológicos o de historia profunda que necesitan años recientes comprimidos (analizado; diseño diferido).

Síguelo en los issues de GitHub si necesitas alguno de estos antes.


Ejemplos relacionados

Escenarios listos para usar del catálogo de ejemplos:

timeline·§ Timeline / Gantt convention
Timeline — Platform v2 Launch Schematex timeline diagram Platform v2 Launch engineering design marketing Engineering build Design polish Marketing collateral QA hardening Press embargo …Feature freeze Public launch Teams engineering design marketing 2026 2026 2026 2026 2026
Product launch timeline
Gantt-style timeline for a three-month product launch — overlapping workstreams, two milestones, and a freeze window, used for exec status updates.
saas
timeline·§ Timeline convention
Timeline — Acme — First Five Years Schematex timeline diagram Acme — First Five Years Founders meet at Y Combin…2020-06 Incorporation + pre-seed …2020-11 First engineer hired2021-04 Product beta — 50 design …2021-09 Seed round — $6M2022-03 Team reaches 20 people2022-11 Platform v1 GA2023-05 Series A — $22M2023-10 100th enterprise customer2024-06 Platform v2 launched2025-01 2021 2021 2022 2022 2023 2023 2024 2024 2025 2025
Company milestone history
Lollipop timeline of a company's first five years — fundraising rounds, key hires, product GAs — suited for an investor deck or anniversary blog post.
startup

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.