Public
Edited
Nov 23, 2024
2 stars
Insert cell
Insert cell
Plot.plot({
width,
height: 600,
x: {label: null},
color: {legend: true, label: "Opened"},
marks: [
Plot.areaY(
issues.flatMap((i) =>
d3
.utcDays(i.created_at, i.closed_at ?? new Date("2024-10-18"))
.map((at) => ({created_at: i.created_at, at}))
),
Plot.binX(
{y: "count", filter: null},
{
x: "at",
fill: (d) => d3.utcWeek(d.created_at),
reverse: true,
curve: "step",
tip: {format: {x: null, z: null}},
interval: "day"
}
)
)
]
})
Insert cell
issues = FileAttachment("framework-issues.json")
.text()
.then((text) => JSON.parse(text, (key, value) => /_at$/.test(key) && value ? new Date(value) : value))
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more