Plot.plot({
width: Math.max(width, 550),
marginLeft: 50,
color: { domain: keys, scheme: "Warm", legend: true },
facet: { data: data, x: "Growth Rates (% per year)" },
y: { tickFormat: "s", grid: true },
x: { axis: null, domain: keys },
marks: [
Plot.text([{}], {
text: () => " Growth Rates of Key Variables; the Gilded Age, the Progressive Era, and the Contemporary Era",
frameAnchor: "top",
anchor: "middle",
dy: -20,
fx: ["Real GDP per Capita"],
fontSize: 13,
fontWeight: "bold"
}),
Plot.ruleX(data, {
x: "ERA",
y: "Percent Change per Year",
stroke: "ERA",
strokeWidth: 3
}),
Plot.dot(data, {
x: "ERA",
y: "Percent Change per Year",
fill: "ERA",
r: 5,
}),
Plot.text(data, {
filter: (d) => d['Percent Change per Year'] > 0,
x: "ERA",
y: "Percent Change per Year",
text: (d) => d['Percent Change per Year'],
dy: -6,
lineAnchor: "bottom",
}),
Plot.text(data, {
filter: (d) => d['Percent Change per Year'] <= 0,
x: "ERA",
y: "Percent Change per Year",
text: (d) => d['Percent Change per Year'],
dy: 13,
lineAnchor: "bottom"
}),
Plot.axisFx({label: null, lineWidth: 5, marginBottom: 50, anchor: "bottom"}),
Plot.ruleY([0]),
Plot.ruleY([-2])
]
})