observablehq / plot

A concise API for exploratory data visualization implementing a layered grammar of graphics
https://observablehq.com/plot/
ISC License
4.16k stars 171 forks source link

The differenceY mark should support the interval option #2084

Open mbostock opened 1 month ago

mbostock commented 1 month ago

Because it doesn’t, it doesn’t align with areaY and lineY…

untitled - 2024-06-13T214957 786

Plot.plot({
  marks: [
    Plot.lineY(data, { x: "year", y: "value", interval: 1 }),
    Plot.differenceY(data, { x: "year", y: "value", interval: 1 }),
    Plot.areaY(data, { x: "year", y: "value", interval: 1, fillOpacity: 0.2 })
  ]
})
data = [{"year":1995,"value":0.2},{"year":1996,"value":-0.5},{"year":1997,"value":-0.6},{"year":1998,"value":0.9},{"year":1999,"value":0},{"year":2000,"value":-0.6},{"year":2001,"value":0.1},{"year":2002,"value":0.4},{"year":2003,"value":0.6},{"year":2004,"value":-0.1},{"year":2005,"value":0.7},{"year":2006,"value":-0.4},{"year":2007,"value":0.7},{"year":2008,"value":-0.6},{"year":2009,"value":-0.3},{"year":2010,"value":0.3},{"year":2011,"value":-0.4},{"year":2012,"value":-0.2},{"year":2013,"value":0.8},{"year":2014,"value":0}]