Published
Edited
May 10, 2021
Insert cell
Insert cell
Insert cell
Plot.dot(athletes, {x: "White", y: "Black", stroke: "Type"}).plot()
Insert cell
Insert cell
Plot.rect(athletes, Plot.bin({fillOpacity: "count"}, {x: "White", y: "Black", fill: "Type"})).plot()
Insert cell
Insert cell
Plot.plot({
grid: true,
facet: {
data: athletes,
y: "Date"
},
marks: [
Plot.rectY(athletes, Plot.binX({y: "count"}, {x: "Black", fill: "Date"})),
Plot.ruleY([0])
]
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Plot = require("@observablehq/plot@0.1.0/dist/plot.umd.min.js")
Insert cell
d3 = require("d3@6.7.0/dist/d3.min.js")
Insert cell
Insert cell
htl = require("htl@0.2.5/dist/htl.min.js")
Insert cell
function previews(notebooks, options) {
return htl.html`<div style="display: grid; grid-gap: .875rem; grid-template-columns: repeat(auto-fill, minmax(160px, 5fr));">${notebooks.map(notebook => preview(notebook, options))}</div>`;
}
Insert cell
function preview({path, title, author, thumbnail}, {target = "_blank"} = {}) {
return htl.html`<a href=${`/${path}`} target=${target} title="${title}${author ? `by ${author}`: ""}" style="display: inline-flex; flex-direction: column; align-items: start; font: 400 .75rem var(--sans-serif); color: #1b1e23; width: 100%;" onmouseover=${event => event.currentTarget.firstElementChild.style.borderColor = "#1b1e23"} onmouseout=${event => event.currentTarget.firstElementChild.style.borderColor = "#e8e8e8"}>
<div style="border: solid 1px #e8e8e8; border-radius: 4px; box-sizing: border-box; width: 100%; padding-top: 62.5%; background-size: cover; background-image: url(https://static.observableusercontent.com/thumbnail/${encodeURI(thumbnail)}.jpg);"></div>
<div style="width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;">${title}</div>
</a>`;
}
Insert cell
import {swatches as Swatches} from "@d3/color-legend"
Insert cell
import {Copier} from "@mbostock/pbcopy"
Insert cell
athletes = FileAttachment("Employee Diversity in Tech@7.csv").csv()
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