scatterCarSales = {
const continents = [...new Set(data.map(d => d.Continent.trim()))].sort();
const continentFilter = vl.selectPoint("Filter")
.fields(["Continent"])
.bind({
Continent: vl.menu(continents)
});
return vl.markPoint({ filled: true, size: 100 })
.data(data.map(d => ({
Continent: d.Continent.trim(),
Company: d.Company.trim(),
Sales: d.Sales
})))
.transform(
vl.filter(continentFilter)
)
.params(continentFilter)
.title("Car Sales by Company and Continent")
.encode(
vl.x().fieldQ("Sales").title("Sales"),
vl.y().fieldN("Company").sort(null).title("Company"),
vl.color().fieldN("Continent").title("Continent"),
vl.tooltip(["Company", "Sales", "Continent"])
)
.render();
}