Plot.plot({
marks: [
Plot.ruleY(data,{x1: "lb", x2: "ub", y: (d, i) => i}),
Plot.barX(data, {x1: "lq", x2: "uq", y: (d, i) => i, fill: "#888"}),
Plot.tickX(data, {x: "med", y: (d, i) => i}),
Plot.dot(data.map((d, i) => d.outliers.map(o => [i, o])).flat(), {x: d => d[1], y: d => d[0]}),
Plot.gridX()
],
y: {type: "band"},
height: 200
})