Plot.plot({
width:width,
height:width,
x:{ticks:false, domain:[-420,420]},
y:{ticks:false, domain:[-420,420]},
color:{
domain:["old","new","bus","enabled","bad"],
range:["lightgray","green","orange","blue","red"],
},
marks:[
Plot.dot(positioners, {
x:loc=>metrology.get(loc).get(null)[0].X_FP,
y:loc=>metrology.get(loc).get(null)[0].Y_FP,
r:loc=>CALIB.get(loc).fiber_intact=="True" ? 10:3,
fill:loc=>diffs.DEVICE_ID.includes(loc) ? "new":"old",
title:loc=>after.get(loc).DEVICE_ID,
}),
Plot.dot(positioners.filter(loc=>{
const pos=after.get(loc);
if(pos.PETAL_LOC!=6) return false;
if((pos.BUS_ID!=10) && (pos.BUS_ID!=17)) return false;
return true;
}), {
x:loc=>metrology.get(loc).get(null)[0].X_FP,
y:loc=>metrology.get(loc).get(null)[0].Y_FP,
r:loc=>CALIB.get(loc).fiber_intact=="True" ? 10:3,
title:loc=>after.get(loc).DEVICE_ID,
fill: loc=>['M06054','M06090','M06056','M06235','M06847']
.includes(after.get(loc).DEVICE_ID) ? "bad":"bus",
}),
Plot.dot(diffs.ENABLED, {
x:loc=>metrology.get(loc)?.get(1)[0].X_FP,
y:loc=>metrology.get(loc)?.get(1)[0].Y_FP,
fill: loc=>"enabled",
}),
],
})