Published
Edited
May 8, 2022
Importers
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
data = FileAttachment("temperature.csv").csv()
Insert cell
Insert cell
Insert cell
Insert cell
Inputs.table(data)
Insert cell
Insert cell
import { SummaryTable } from "@observablehq/summary-table";

Insert cell
FileAttachment("CleanShot 2022-05-05 at 16.47.06-2x.png").image({ width: 700 })
Insert cell
SummaryTable(data)
Insert cell
Insert cell
Insert cell
Insert cell
data_autoTyped = FileAttachment("temperature.csv").csv({ typed: true })
Insert cell
Insert cell
Insert cell
Inputs.table(data_autoTyped)
Insert cell
Insert cell
Insert cell
SummaryTable(data_autoTyped)
Insert cell
Insert cell
data_autoTyped[0].date.constructor.name
Insert cell
data_manuallyTyped[0].temperature.constructor.name
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
parseTime = d3.timeParse("%Y-%m-%d")
Insert cell
Insert cell
Insert cell
parseTime("2011-10-02")
Insert cell
Insert cell
Insert cell
data_manuallyTyped = FileAttachment("temperature.csv")
.csv() // no `{typed: true}` in `csv()`
.then((data) => {
data.forEach((d) => {
d.date = parseTime(d.date);
d.temperature = Number(d.temperature) / 1.8 - 32;
});
return data;
})
Insert cell
Insert cell
Insert cell
Inputs.table(data_manuallyTyped)
Insert cell
Insert cell
Insert cell
SummaryTable(data_manuallyTyped)
Insert cell
Insert cell
Insert cell
Insert cell
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