chart = addTooltips(
Plot.plot({
width: (width, document.body.clientWidth),
height: 400,
marginLeft: 60,
marginRight: 60,
marginTop: 10,
marginBottom: 40,
x: {
ticks: 5,
grid: true,
tickSize: 0,
domain: [0, 3000],
tickFormat: d => `${(d.toLocaleString("de"))}`,
label: "Exporte ->"
},
y: {
ticks: 4,
grid: true,
tickSize: 0,
domain: [0, 20000],
tickFormat: d => `${(d.toLocaleString("de"))}`,
label: "BIP ↑"
},
r: {
range: [0, 40]
},
marks: [
Plot.dot(trade_pop_gdp_wb.filter(d => d.jahr === year & d.land === "China"), {
x: "export",
y: "gdp",
r: "population",
opacity: 0.8,
fill: "#e84f1c",
title: (d) => `${d.land} \n ${d.jahr} \n Exporte: ${(d.export.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n BIP: ${(d.gdp.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n Bevölkerung: ${(d.population.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))}`
}),
Plot.dot(trade_pop_gdp_wb.filter(d => d.jahr === year & d.land === "Deutschland"), {
x: "export",
y: "gdp",
r: "population",
fill: "#4f80ff",
opacity: 0.8,
title: (d) => `${d.land} \n ${d.jahr} \n Exporte: ${(d.export.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n BIP: ${(d.gdp.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n Bevölkerung: ${(d.population.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))}`
}),
Plot.text(trade_pop_gdp_wb.filter(d => d.jahr === year & d.land === "Deutschland"), {
x: "export",
y: "gdp",
fill: "#fff",
text: (d) => "DE",
dx: 0,
dy: 0,
textAnchor: "middle",
title: (d) => `${d.land} \n ${d.jahr} \n Exporte: ${(d.export.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n BIP: ${(d.gdp.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n Bevölkerung: ${(d.population.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))}`
}),
Plot.dot(trade_pop_gdp_wb.filter(d => d.jahr === year & d.land != "China" & d.land != "Deutschland"), {
x: "export",
y: "gdp",
r: "population",
fill: "#99AFC2",
opacity: 0.5,
title: (d) => `${d.land} \n ${d.jahr} \n Exporte: ${(d.export.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n BIP: ${(d.gdp.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n Bevölkerung: ${(d.population.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))}`
}),
Plot.text(trade_pop_gdp_wb.filter(d => d.jahr === year & (d.land === "China" | d.land === "USA")), {
x: "export",
y: "gdp",
fill: "#fff",
text: (d) => d.land,
dx: 0,
dy: 0,
textAnchor: "middle",
title: (d) => `${d.land} \n ${d.jahr} \n Exporte: ${(d.export.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n BIP: ${(d.gdp.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))} Mrd. US-Dollar \n Bevölkerung: ${(d.population.toLocaleString("de", {minimumFractionDigits: 0, maximumFractionDigits: 0}))}`
})
]
}),
{ opacity: .6, "stroke-width": "1px" }
)