Slackbot
04/26/2023, 1:46 PMMax Bo
04/26/2023, 1:47 PMMax Bo
04/26/2023, 1:47 PM{
const none = (t) => culori.formatHex(t);
const greyscale = (t) => culori.formatHex(culori.filterGrayscale()(t));
const deuteranopia = (t) =>
culori.formatHex(culori.filterDeficiencyDeuter()(t));
const tritanopia = (t) => culori.formatHex(culori.filterDeficiencyTrit()(t));
const protanopia = (t) => culori.formatHex(culori.filterDeficiencyProt()(t));
const turbo = (t) => d3.interpolateTurbo(t);
const viridis = (t) => d3.interpolateViridis(t);
const plasma = (t) => d3.interpolatePlasma(t);
return Plot.plot({
color: { type: "identity" },
nice: true,
aspectRatio: 322 / 420,
fx: { tickFormat: (f) => f?.name },
fy: { tickFormat: (f) => f?.name },
marks: [
Plot.raster({
fill: (x, y, { fx, fy }) => {
console.log(fx, fy);
if (fx && fy) {
return fx(
fy(monaLisaLightness[Math.floor(322 - y)][Math.floor(x)])
);
}
},
fx: [none, greyscale, deuteranopia, tritanopia, protanopia],
fy: [turbo, viridis, plasma],
x1: 0,
y1: 0,
x2: 420,
y2: 322
})
]
});
}
Max Bo
04/26/2023, 1:49 PMMax Bo
04/26/2023, 1:50 PMconsole.log
in the fill
function? Well it turns out that fx
and fy
are undefined
a lotMax Bo
04/26/2023, 1:52 PMfx
and fy
were undefined
Fabian Iwand
04/26/2023, 1:56 PMFabian Iwand
04/26/2023, 2:00 PMMax Bo
04/26/2023, 2:00 PMMax Bo
04/26/2023, 2:01 PMFabian Iwand
04/26/2023, 2:03 PMMax Bo
04/26/2023, 2:04 PMMax Bo
04/26/2023, 2:04 PMfx: [protanopia],
fy: [turbo],
Fabian Iwand
04/26/2023, 2:06 PMMax Bo
04/26/2023, 2:09 PMFabian Iwand
04/26/2023, 2:10 PMMax Bo
04/26/2023, 2:12 PMFabian Iwand
04/26/2023, 2:12 PMMax Bo
04/26/2023, 2:12 PMFabian Iwand
04/26/2023, 2:14 PMFabian Iwand
04/26/2023, 2:39 PMFabian Iwand
04/26/2023, 2:49 PMfx: [
none, greyscale, deuteranopia, tritanopia, protanopia,
none, greyscale, deuteranopia, tritanopia, protanopia,
none, greyscale, deuteranopia, tritanopia, protanopia,
],
fy: [
turbo, viridis, plasma,
turbo, viridis, plasma,
turbo, viridis, plasma,
turbo, viridis, plasma,
turbo, viridis, plasma,
],
Max Bo
04/26/2023, 3:00 PMMax Bo
04/26/2023, 3:02 PMFil
04/26/2023, 3:02 PMMax Bo
04/26/2023, 3:06 PMMax Bo
04/26/2023, 3:06 PMFil
04/26/2023, 3:09 PM