Quarto Create dynamic content (website) based on Jupyter and Rmarkdown. Quarto uses Knitr to execute R code Also supports ObservableJS (a better version of D3JS?) data = FileAttachment("seattle-weather.csv") .csv({typed: true}) Plot.plot({ width: 800, height: 500, padding: 0, color: { scheme: "blues", type: "sqrt"}, y: { tickFormat: i => "JFMAMJJASOND"[i] }, marks: [ Plot.cell(data, Plot.group({fill: "mean"}, { x: d => new Date(d.date).getDate(), y: d => new Date(d.date).getMonth(), fill: "precipitation", inset: 0.5 })) ] })