JavaFX中堆积面积图的奇怪绘制行为

时间:2019-06-11 08:32:32

标签: java javafx stacked-area-chart

我已将堆叠面积图分为三个主要的独立区域,每个区域内部可以有多个其他区域。所有主要区域应在同一yAxis线中。例如,第一个区域是整个区域,但是第二个区域包含两个区域,它们具有相同的xAxis间隔但具有不同的yAxis间隔。第三个应该在内部具有三个区域,它们具有相同的xAxis间隔,但是应该具有不同的yAxis区域。现在,我只为第三个区域定义了一个区域,但是绘制后,第三个区域看起来确实很奇怪。 我想提到的是,我为yAxis设置了false的自动调整范围。

如果有人可以向我解释JavaFX中堆积面积图的奇怪行为,我将不胜感激。 下图显示了奇怪的行为。还提供示例代码,说明我如何定义我的系列。

picture of strange draw behavior of stacked area chart graph

使用Java 1.8.0_212

 XYChart.Series<Double, Double> testSeries = new XYChart.Series<>();
 XYChart.Series<Double, Double> testSeries2 = new XYChart.Series<>();
 XYChart.Series<Double, Double> testSeries3 = new XYChart.Series<>();
 XYChart.Series<Double, Double> testSeries4 = new XYChart.Series<>();

 testSeries.setName(UUID.randomUUID().toString());
 testSeries2.setName(UUID.randomUUID().toString());
 testSeries3.setName(UUID.randomUUID().toString());
 testSeries4.setName(UUID.randomUUID().toString());

 testSeries.getData().add(new XYChart.Data<Double, Double>(0.00, 99.99));
 testSeries.getData().add(new XYChart.Data<Double, Double>(479.99, 99.99));

 testSeries2.getData().add(new XYChart.Data<Double, Double>(480.00, 49.99));
 testSeries2.getData().add(new XYChart.Data<Double, Double>(959.99, 49.99));

 testSeries3.getData().add(new XYChart.Data<Double, Double>(480.00, 99.99));
 testSeries3.getData().add(new XYChart.Data<Double, Double>(959.99, 99.99));

 testSeries4.getData().add(new XYChart.Data<Double, Double>(960.00, 49.99));
 testSeries4.getData().add(new XYChart.Data<Double, Double>(1439.99, 49.99));

 StackedAreaChart<Double, Double> chart = new StackedAreaChart<Double, Double>();
 chart.getData().addAll(testSeries, testSeries2, testSeries3, testSeries4);`

0 个答案:

没有答案