Notebooks 2.0 is here.

Published
Edited
May 12, 2022
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
myData = FileAttachment("values-1.json").json()
Insert cell
Insert cell
import { chart as myHistogram } with { myData as data } from "@d3/histogram@261"
Insert cell
Insert cell
myHistogram
Insert cell
Insert cell
Insert cell
Insert cell
import { chart as pannableChart } with { temperatures as data } from "@d3/pannable-chart"
Insert cell
Insert cell
temperatureRaw = FileAttachment("temperature.csv").csv() //or bring from old import and parse sheet
Insert cell
Insert cell
import {Wrangler, op} from "@observablehq/data-wrangler"
Insert cell
Insert cell
// from wrangler:
temperatures = aq
.from(temperatureRaw)
.derive({ temperature: (d) => +d.temperature })
.rename({ temperature: "value" })
.derive({ date: aq.escape((d) => new Date(d.date)) })
.objects() // Uncomment to return an array of objects
Insert cell
Insert cell
pannableChart // reference the chart, so that it is drawn
Insert cell
Insert cell
Insert cell
import {imageToDo} from "@clokman/student-blocks"
Insert cell
imageToDo
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