Public
Edited
Feb 6
9 stars
Insert cell
Insert cell
{
const interpolator = d3.interpolateString("0", "B 100");
return [interpolator(0), interpolator(0.52), interpolator(1)];
}
Insert cell
Insert cell
{
const interpolator = d3.interpolateString("29.99", "0.00");
return interpolator(0.5);
}
Insert cell
{
const interpolator = d3.interpolateString(
"translate(10, 500)",
"translate(400, 10)"
);
return interpolator(0.5);
}
Insert cell
Insert cell
{
const interpolator = d3.interpolateString("A -1 -2 -3", "B 1 2 3 4");
return interpolator(0.5);
}
Insert cell
Insert cell
a = d3.line()(
Array.from({ length: 90 }, (_, i) => [i * 10, (90 * Math.random()) | 0])
)
Insert cell
b = d3.line()(
Array.from({ length: 90 }, (_, i) => [i * 10, (200 - 90 * Math.random()) | 0])
)
Insert cell
interpolator = d3.interpolateString(a, b)
Insert cell
c = interpolator(t)
Insert cell
Insert cell
svg`<svg width=${width} viewBox="-10 -10 910 210" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="${interpolator(0)}" stroke="#ddd" />
<path d="${interpolator(0.5)}" stroke="#aaa" />
<path d="${interpolator(1)}" stroke="#ddd" />
<path d="${interpolator(t)}" stroke="black" stroke-width="3" />
</svg>`
Insert cell
Insert cell
d3.interpolateString("1e6", "1e12")(0.5) // "1e12" is one number, not 2! 🌶
Insert cell
d3.interpolateString("Page 27", "Some book reference, p.32")(0.5) // A dot means… a decimal number 🌶
Insert cell
Insert cell
d3.interpolate(
{ title: "2001: A Space Odyssey", date: new Date("1968"), gross: 190e6 },
{ title: "Ocean’s 8", date: new Date("2018"), gross: 297e6 }
)(0.5)
Insert cell
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