Plot.plot({
width: 1100, height: 300, marginLeft: 78, marginBottom: 58, style: {fontSize: "18px"},
x: {label: "AR order p", domain: [0, 10], ticks: 11},
y: {label: "IC(p) − min IC (capped at 30)", domain: [0, 30]},
marginTop: 40, marginRight: 70,
color: {domain: ["AIC", "BIC", "HQ"], range: ["#8b2635", "#2f4b7c", "#d39c2f"]},
marks: [
Plot.line(icdata, {x: "p", y: "ic", stroke: "crit", strokeWidth: 3}),
Plot.dot(icdata.filter(d => d.best), {x: "p", y: "ic", fill: "crit", r: 9}),
Plot.text(icdata.filter(d => d.p === 10), {x: "p", y: "ic", text: "crit", fill: "crit", dx: 34, fontSize: 20, fontWeight: "bold"}),
Plot.ruleY([0])
]
})