generateChart = (mark, encode, popupAttrib) => {
const base = vl
.mark(mark)
.encode(...encode)
.width(facetWidth)
.height(facetWidth * 0.7);
return vl
.concat(
base.encode(
popupAttrib.scale({
...popupAttrib.toObject().scale,
domain: [true, false]
})
),
base.encode(
popupAttrib.scale({
...popupAttrib.toObject().scale,
domain: [false, true]
})
)
)
.spacing(0)
.data(generateData())
.resolve({
scale: {
color: "independent",
size: "independent",
shape: "independent",
angle: "independent",
opacity: "independent"
}
})
.config({
axis: { title: false, labels: false, ticks: false, grid: false },
range: { category: ["#1f77b4", "#d62728", "#fdb71a"] }
});
}