OK it's pretty rare, but it's possible to crash by providing both the unknown option (so the tick goes somewhere on screen), and a NaN tick value: Plot.plot({x: { type: "linear", ticks: [NaN, 1, 2], tickFormat: (d) => d, unknown: 1 }}) related: #493