Plot.plot({
color: {domain: [-1, 0, 1], range: ["#e41a1c", "#000000", "#4daf4a"]},
x: { label: "Date", domain: years},
y: { label: "Share Price [$]", grid: true},
marks: [
Plot.ruleX(data, {
x: d => (!years || d.Date >= years[0] && d.Date <= years[1]) ? d.Date : NaN,
y1: "Low",
y2: "High",
tip: true
}),
Plot.ruleX(data, {
x: d => (!years || d.Date >= years[0] && d.Date <= years[1]) ? d.Date : NaN,
y1: "Open",
y2: "Close",
stroke: (d) => Math.sign(d.Close - d.Open),
strokeWidth: 2,
strokeLinecap: "round",
})
],
width:1200
})