Public
Edited
Sep 17, 2024
1 fork
22 stars
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
flights_url = 'https://vega.github.io/vega-datasets/data/flights-200k.arrow'
Insert cell
flights = aq.loadArrow(flights_url)
Insert cell
flights.view(10)
Insert cell
viewof counts = flights
.groupby({ delay: aq.bin('delay', { maxbins: 20 }) })
.count()
.view(10)
Insert cell
Insert cell
vl.markBar()
.data(counts)
.encode(
vl.x().fieldO('delay').axis({ labelAngle: 0 }),
vl.y().fieldQ('count')
)
.height(200)
.render()
Insert cell
Insert cell
scrabble_url = 'https://gist.githubusercontent.com/TheNeuralBit/64d8cc13050c9b5743281dcf66059de5/raw/c146baf28a8e78cfe982c6ab5015207c4cbd84e3/scrabble.arrow'
Insert cell
Insert cell
scrabble = aq.loadArrow(scrabble_url)
Insert cell
Insert cell
stats = timeIt(() =>
scrabble
.groupby('winnername')
.rollup({
score: ({ winnerscore: v }) => op.mean(v),
years: ({ year: v }) => [ op.min(v), op.max(v) ]
})
)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
viewof dt = aq.table({
w: ['a', 'b', 'a'],
x: [1, 2, 3],
y: [1.6181, 2.7182, 3.1415],
z: [true, true, false]
})
.view()
Insert cell
Insert cell
at = dt.toArrow()
Insert cell
Insert cell
at.getChild('w').type
Insert cell
at.getChild('x').type
Insert cell
Insert cell
fl = require('@uwdata/flechette')
Insert cell
dt.toArrow({ types: { x: fl.int32() } }).getChild('x').type
Insert cell
Insert cell
bytes = dt.toArrowIPC()
Insert cell
Insert cell
Insert cell
aq.fromArrow(bytes).view()
Insert cell
Insert cell
timeIt = fn => {
const t0 = Date.now();
const table = fn();
return { time: Date.now() - t0, table }
}
Insert cell
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