Public
Edited
Nov 27, 2022
9 stars
Insert cell
Insert cell
samples = {
const random = d3.randomLcg(42);
return d3.range(1000).map(() => ({
x: random(),
y: random(),
flavor: ["sour", "sweet", "spicy"][Math.floor(Math.sqrt(random() * 9))]
}));
}
Insert cell
Insert cell
Insert cell
Insert cell
Plot.plot({
color: {
legend: true
},
marks: [
Plot.dot(samples, {x: "x", y: "y", stroke: "flavor"})
]
})
Insert cell
Insert cell
Insert cell
Plot.plot({
color: {
legend: true
},
marks: [
Plot.dot(samples, {
x: "x",
y: "y",
stroke: "flavor",
sort: {
color: "stroke",
reduce: "count",
reverse: true
}
})
]
})
Insert cell
Insert cell
samples2 = {
const random = d3.randomLcg(42);
return d3.range(1000).map(() => {
const i = Math.floor(Math.sqrt(random() * 9));
return {
x: random(),
y: random(),
weight: Math.pow(3 - i, 3),
flavor: ["sour", "sweet", "spicy"][i]
};
});
}
Insert cell
Insert cell
Insert cell
Insert cell
Plot.plot({
color: {
legend: true
},
marks: [
Plot.dot(samples2, {
x: "x",
y: "y",
r: "weight",
stroke: "flavor",
sort: {
color: "r",
reduce: "sum",
reverse: true
}
})
]
})
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