Skip to content

Commit 5efee00

Browse files
authored
penguin-species-island-sex example plot (#281)
1 parent fce2562 commit 5efee00

File tree

3 files changed

+152
-0
lines changed

3 files changed

+152
-0
lines changed
Lines changed: 122 additions & 0 deletions
Loading

test/plots/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export {default as penguinSexMassCulmenSpecies} from "./penguin-sex-mass-culmen-
6363
export {default as penguinSpeciesGroup} from "./penguin-species-group.js";
6464
export {default as penguinSpeciesIsland} from "./penguin-species-island.js";
6565
export {default as penguinSpeciesIslandRelative} from "./penguin-species-island-relative.js";
66+
export {default as penguinSpeciesIslandSex} from "./penguin-species-island-sex.js";
6667
export {default as policeDeaths} from "./police-deaths.js";
6768
export {default as policeDeathsBar} from "./police-deaths-bar.js";
6869
export {default as randomWalk} from "./random-walk.js";
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import * as Plot from "@observablehq/plot";
2+
import * as d3 from "d3";
3+
4+
export default async function() {
5+
const data = await d3.csv("data/penguins.csv", d3.autoType);
6+
return Plot.plot({
7+
facet: {
8+
data,
9+
x: "species"
10+
},
11+
fx: {
12+
domain: d3.groupSort(data, ({length}) => length, d => d.species).reverse()
13+
},
14+
x: {
15+
domain: ["MALE", "FEMALE", null],
16+
tickFormat: d => d === null ? "N/A" : d
17+
},
18+
y: {
19+
grid: true
20+
},
21+
color: {
22+
scheme: "greys"
23+
},
24+
marks: [
25+
Plot.barY(data, Plot.stackY(Plot.groupX({y: "count"}, {x: "sex", fill: "island", stroke: "black"}))),
26+
Plot.ruleY([0])
27+
]
28+
});
29+
}

0 commit comments

Comments
 (0)