height=500// Observable provides a responsive *width*
radius=6
step=radius*2
data=Array.from({length:2000},(_,i)=>{
constradius=step*Math.sqrt(i+=0.5),a=theta*i;
return[
width/2+radius*Math.cos(a),
height/2+radius*Math.sin(a)
];
})
theta=Math.PI*(3-Math.sqrt(5))
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.