Published
Edited
Aug 2, 2019
1 fork
20 stars
Insert cell
Insert cell
target = html`<div id="chart" style="max-width: 600px"></div>`
Insert cell
Insert cell
notebook = (await import("https://api.observablehq.com/@d3/bivariate-choropleth.js?v=3")).default
Insert cell
Insert cell
Runtime = await import("@observablehq/runtime@4/dist/runtime.js")
Insert cell
Insert cell
customWidth = function () {
return (new Runtime.Library).Generators.observe(function (change) {
let width = change(target.clientWidth);
function resized() {
let w = target.clientWidth;
if (w !== width) change(width = w);
}
window.addEventListener("resize", resized);
return function () {
window.removeEventListener("resize", resized);
};
});
}
Insert cell
runtime = new Runtime.Runtime(Object.assign(new Runtime.Library, { width: customWidth }))
Insert cell
Insert cell
document
.querySelector("#chart")
.appendChild(await runtime.module(notebook).value("chart"));
Insert cell
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