Multi-series timeline
Planned and actual bars per task.
Open the chart without page chrome ↗
const options = {
chart: {
height: 380,
fontFamily: "Inter, Geist, \"IBM Plex Sans\", system-ui, sans-serif",
type: "rangeBar",
toolbar: {
show: false
}
},
series: [
{
name: "Planned",
data: [
{
x: "Research",
y: [1772409600000, 1773619200000]
},
{
x: "Spec",
y: [1773619200000, 1774396800000]
},
{
x: "Prototype",
y: [1774396800000, 1775520000000]
},
{
x: "Build",
y: [1775520000000, 1776729600000]
},
{
x: "QA",
y: [1776729600000, 1777852800000]
},
{
x: "Release",
y: [1777852800000, 1778976000000]
}
]
},
{
name: "Actual",
data: [
{
x: "Research",
y: [1772582400000, 1774051200000]
},
{
x: "Spec",
y: [1773705600000, 1774742400000]
},
{
x: "Prototype",
y: [1774483200000, 1775433600000]
},
{
x: "Build",
y: [1775692800000, 1776988800000]
},
{
x: "QA",
y: [1776988800000, 1777766400000]
},
{
x: "Release",
y: [1778112000000, 1779148800000]
}
]
}
],
plotOptions: {
bar: {
horizontal: true,
barHeight: "70%"
}
},
xaxis: {
type: "datetime"
},
title: {
text: "Plan vs actual"
},
theme: {
mode: "light",
preset: "coastal"
}
}
const chart = new WestCoastCharts(document.querySelector('#chart'), options)
chart.render()import WestCoastCharts from 'west-coast-charts'
const options = {
chart: {
height: 380,
fontFamily: "Inter, Geist, \"IBM Plex Sans\", system-ui, sans-serif",
type: "rangeBar",
toolbar: {
show: false
}
},
series: [
{
name: "Planned",
data: [
{
x: "Research",
y: [1772409600000, 1773619200000]
},
{
x: "Spec",
y: [1773619200000, 1774396800000]
},
{
x: "Prototype",
y: [1774396800000, 1775520000000]
},
{
x: "Build",
y: [1775520000000, 1776729600000]
},
{
x: "QA",
y: [1776729600000, 1777852800000]
},
{
x: "Release",
y: [1777852800000, 1778976000000]
}
]
},
{
name: "Actual",
data: [
{
x: "Research",
y: [1772582400000, 1774051200000]
},
{
x: "Spec",
y: [1773705600000, 1774742400000]
},
{
x: "Prototype",
y: [1774483200000, 1775433600000]
},
{
x: "Build",
y: [1775692800000, 1776988800000]
},
{
x: "QA",
y: [1776988800000, 1777766400000]
},
{
x: "Release",
y: [1778112000000, 1779148800000]
}
]
}
],
plotOptions: {
bar: {
horizontal: true,
barHeight: "70%"
}
},
xaxis: {
type: "datetime"
},
title: {
text: "Plan vs actual"
},
theme: {
mode: "light",
preset: "coastal"
}
}
const chart = new WestCoastCharts(document.querySelector('#chart'), options)
await chart.render() Waiting for the chart.
Open Data & agent view to read this chart through chart.describe().
Read from the running library through its optional agent/describe module. Text, table and JSON share the same snapshot. Demo data only.
$ wcc chart export timeline-multi-series.json --out timeline-multi-series.svg --with-table Public agent tools 0.2.3, tested with Library 1.1.5; available from the versioned GitHub release and npm. Save a JSON spec first and check the loaded runtime and supported modules before rendering. Command reference
Loading /gallery/timeline/multi-series/index.md …