Странное поведение при рисовании диаграммы с областями сложения в JavaFX - PullRequest
0 голосов
/ 11 июня 2019

Я разделил мою диаграмму областей с накоплением на три основные отдельные области, и каждая область может иметь несколько других областей внутри.Все основные области должны быть в одной линии 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);`
...