vl.markBar()
.data(tidyScotusData)
.encode(
vl.column().fieldN("Justice")
.sort(vl.sum("Count")
.order("descending"))
.title(null)
.header({ labelOrient: "bottom", labelPadding: 6 }),
vl.x().fieldN("Opinion")
.sort(["Majority", "Concurrence", "Dissent"])
.axis({ title: null, ticks: false, labels: false }),
vl.y().sum("Count").axis({ title: null, grid: false }),
vl.color().fieldN("Opinion")
.sort(["Majority", "Concurrence", "Dissent"])
.scale({ scheme: "set2" })
)
.width(60)
.config({
view: { stroke: null },
facet: { spacing: 0 },
scale: { bandPaddingInner: 0, bandPaddingOuter: .25 }
})
.render()