javafx StackedBarChart совокупное значение
Кто-нибудь знает, как получить совокупное значение столбчатой диаграммы с накоплением для каждого значения X на оси категории? Есть ли способ для этого?
Я не могу сделать это вручную, потому что каждый ряд данных не охватывает все значения X и существует около 400 значений X.
Спасибо!
1 ответ
Если у вас есть
StackedBarChart<String, Number> chart ;
Вы можете рассчитать совокупную сумму для каждого x
значение как
Map<String, Number> cumulativeTotal = new HashMap<>();
for (Series<String, Number> series : chart.getData()) {
for (XYChart.Data<String, Number> data : series.getData()) {
cumulativeTotal.merge(data.getXValue(), data.getYValue(), (y1, y2) -> y1.doubleValue() + y2.doubleValue());
}
}
или, используя потоки:
Map<String, Number> cumulativeTotal = chart.getData().stream()
.flatMap(series -> series.getData().stream())
.collect(Collectors.toMap(Data::getXValue, Data::getYValue, (y1, y2) -> y1.doubleValue() + y2.doubleValue()));