我正在 Observable 的新Plot库中处理堆积条形图。来自 Vega 和 D3 的情况还不错,但我无法找到或弄清楚如何从我正在使用的Plot.binX()中订购生成的堆叠条。
我今天的实际标记看起来像这样:
Plot.rectY(hourlyUsageData, Plot.binX({
y: "sum",
title: bin => bin[0].Name
}, {
x: d => d3.timeHour.count(d3.timeDay(d.DateTime), d.DateTime),
y: d => d.kWh,
thresholds: 24,
fill: "Name",
//order: "sum",
//reverse: true
}))
Plot.binX()
做得很好,产生一个图表,其中堆栈根据输入顺序进行排序。
我希望根据总和对堆栈进行排序,事实上,如果我添加Plot.stack选项order
(参见上面的注释行),我可以按总和排序:
关闭!现在我只需要颠倒顺序。我假设,因为我可以使用该order
选项,也许我也可以使用该reverse
选项(参见上面的注释行)。 那似乎行不通。
我的第二个假设是,由于这些转换应该是“可组合的”,我应该能够将 mybinX
与 a结合起来stackY
,但我找不到这种组合的例子。我尝试过Plot.stackY(Plot.binX({...}, { ... order:"sum", reverse:true })
, 和类似的变体,但它们似乎也不起作用。
总之,我很想知道如何在使用 binX 的同时控制堆叠条形图中的堆叠顺序。谢谢!