Plot.plot({
width: 1100,
marks: [
Plot.ruleX(data_filtered, {
x: "Date",
y1: "High",
y2: "Low",
stroke: d => d['Open'] < d['Close'] ? "green" : "red",
title: d =>
`${ d["Date"].toLocaleString('default', { month: 'long' }) } ${ d["Date"].getDate() }
Close: ${ d3.format('.3s')(d["Close"]) }
Open: ${ d3.format('.3s')(d["Open"]) }
High: ${ d3.format('.3s')(d["High"]) }
Low: ${ d3.format('.3s')(d["Low"]) }`
}),
Plot.ruleX(data_filtered, {
x: "Date",
y1: "Close",
y2: "Open",
strokeWidth: 1000 / numberOfDaysInFilteredData,
stroke: d => d['Open'] < d['Close'] ? "green" : "red",
title: d =>
`${ d["Date"].toLocaleString('default', { month: 'long' }) } ${ d["Date"].getDate() }
Close: ${ d3.format('.3s')(d["Close"]) }
Open: ${ d3.format('.3s')(d["Open"]) }
High: ${ d3.format('.3s')(d["High"]) }
Low: ${ d3.format('.3s')(d["Low"]) }`
})
]
})