similarityMatrixChart = {
const selectionFn =
selectionType === "brush" ? vl.selectInterval : vl.selectMulti;
const brush = selectionFn("selected").encodings("y");
return vl
.markRect({ tooltip: true })
.params(brush)
.encode(
vl
.x()
.fieldO("i")
.title(null)
.axis({ orient: "top" })
.sort(getOrderForAttrib(recomendedPapers, columnOrder)),
vl
.y()
.fieldO("j")
.title(null)
.sort(getOrderForAttrib(recomendedPapers, rowOrder)),
vl.color().fieldQ("similarity"),
vl.opacity().if(brush, 1).value(0.3),
vl.tooltip(["title"])
)
.data(tidySimilarity(similarity, recomendedPapers, columnOrder, rowOrder));
}