altitudeProfile = (data, reverse = false, fill = "#d1d5db") => {
const domain = [1e6, 1e12];
return Plot.plot({
width: 400,
height: 400,
y: {
axis: "right",
grid: true,
type: "log"
},
x: {
type: "log",
tickFormat: "~g",
domain,
reverse
},
marks: [
Plot.areaX(data, {
x1: 1e6,
x2: "median_ne",
y: "alt",
fill,
fillOpacity: 0.5
}),
Plot.ruleY([altData[d3.maxIndex(data, (d) => d.median_ne)]], {
y: "alt",
x1: domain[0],
x2: d3.max(data, (d) => d.median_ne)
})
]
});
}