Public
Edited
Mar 28, 2023
Insert cell
Insert cell
temperatureDifference1 = FileAttachment("temperature difference@1.xlsx").xlsx()
Insert cell
Plot.plot({
inset: 10,
width: 1152,
height: 870, // for a rougly equirectangular projection
color: {
scheme: "viridis",
label: "Speed (m/s)",
zero: true,
legend: true
},
marks: [
Plot.vector(wind, {
x: "Temperature_Diff",
rotate: ({u, v}) => Math.atan2(u, v) * 180 / Math.PI,
length: ({u, v}) => Math.hypot(u, v),
stroke: ({u, v}) => Math.hypot(u, v)
})
]
})
Insert cell
Insert cell
Insert cell
Plot.plot({
inset: 12,
height: 1152,
width: 1152,
marks: [
Plot.vector(samples([0, 0, 2, 2], 4000), {
length: ([x, y]) => (noise(x + 2, y) + 0.5) * 24,
rotate: ([x, y]) => noise(x, y) * 360
})
]
})
Insert cell
noise = octave(perlin2, 2)
Insert cell
Insert cell
Insert cell
import {perlin2, octave} from "@mbostock/perlin-noise"
Insert cell
import {samples} from "@mbostock/poisson-disk-sampling"
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