Я хочу нарисовать график области с накоплением, который может показать тенденцию и значение.
Например: данные:
year,orange,apple
1976,30,20
1980,20,40
1988,50,30
связанный код:
stack = d3.stack()
.order(d3.stackOrderAscending)
// .order(order)
.keys(keys);
series = stack(data);
area = d3
.area()
.x(function(d) {
return xScale(new Date(d.data.year, 0, 1));
})
.y0(function(d) {
return yScale(d[0]);
})
.y1(function(d) {
return yScale(d[1]);
});
$ele
.selectAll('path')
.data(series)
.enter()
.append('path')
.attr('class', 'area')
.attr('transform', 'translate(' + template.padding + ',0)')
.attr('d', area)
.attr('fill', function(d, i) {
return get_colors(i);
});
Это выглядит так:
Текущий результат Но я хочу поставить максимальное значение в верхнюю часть (в соответствии со значением оси x)graph И, следовательно, порядок категорий будет меняться по оси X.
Я пытался определить свою собственную функцию порядка, но она возвращает только массив, который, кажется, определяет толькозаказ, который означает, что заказ не может измениться.
Я надеюсь, вы понимаете, что я сказал. Спасибо !!!