Plot.plot({
marks: [
Plot.frame(),
Plot.dot(worldbank, {
filter: (d) => d.year == 2010,
x: "gdp",
y: "co2",
fill: "#ccc",
r: "life_exp",
opacity: 0.5
}),
Plot.dot(worldbank, {
filter: (d) => d.year == 2010,
x: "gdp",
y: "co2",
fill: "life_exp",
r: "life_exp",
opacity: 0.9,
fy: "income_group"
})
],
color: { legend: true, scheme: "BuPu" },
r: { domain: d3.extent(worldbank, (d) => d.life_exp), range: [1, 10] },
x: { type: "log" },
y: { type: "log" },
fy: {
domain: [
"NA",
"Low income",
"Lower middle income",
"Upper middle income",
"High income"
],
reverse: true
},
marginRight: 120
})