JavaFX堆叠条形图上的累积数字错误

JavaFX堆叠条形图上的累积数字错误,java,javafx,javafx-8,Java,Javafx,Javafx 8,我正在尝试使用JavaFX8构建一个堆叠条形图,但某些条形图的累积值没有正确地以图形方式再现 为了说明问题,考虑下面的程序,提取出来,稍加修改,得到问题: import java.util.Arrays; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.scene.Scene; import javafx.scene.chart.CategoryAxis;

我正在尝试使用JavaFX8构建一个堆叠条形图,但某些条形图的累积值没有正确地以图形方式再现

为了说明问题,考虑下面的程序,提取出来,稍加修改,得到问题:

import java.util.Arrays;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.StackedBarChart;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;

public class StackedBarChartSample extends Application {

    final static String austria = "Austria";
    final static String brazil = "Brazil";
    final CategoryAxis xAxis = new CategoryAxis();
    final NumberAxis yAxis = new NumberAxis();
    final StackedBarChart<String, Number> sbc =
            new StackedBarChart<>(xAxis, yAxis);
    final XYChart.Series<String, Number> series1 =
            new XYChart.Series<>();
    final XYChart.Series<String, Number> series2 =
            new XYChart.Series<>();
    final XYChart.Series<String, Number> series3 =
            new XYChart.Series<>();

    @Override
    public void start(Stage stage) {
        stage.setTitle("Bar Chart Sample");
        sbc.setTitle("Wrong accumulative values example");
        xAxis.setLabel("Country");
        xAxis.setCategories(FXCollections.<String>observableArrayList(
                Arrays.asList(austria, brazil)));
        yAxis.setLabel("Value");
        series1.setName("2003");
        series1.getData().add(new XYChart.Data<>(austria, 9.5));
        series1.getData().add(new XYChart.Data<>(brazil, 10));
        series2.setName("2004");
        series2.getData().add(new XYChart.Data<>(austria, 9.3));
        series2.getData().add(new XYChart.Data<>(brazil, 10));
        series3.setName("2005");
        series3.getData().add(new XYChart.Data<>(austria, 11.2));
        series3.getData().add(new XYChart.Data<>(brazil, 10));
        Scene scene = new Scene(sbc, 800, 600);
        sbc.getData().addAll(series1, series2, series3);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
导入java.util.array;
导入javafx.application.application;
导入javafx.collections.FXCollections;
导入javafx.scene.scene;
导入javafx.scene.chart.CategoryAxis;
导入javafx.scene.chart.NumberAxis;
导入javafx.scene.chart.StackedBarChart;
导入javafx.scene.chart.XYChart;
导入javafx.stage.stage;
公共类StackedBarChartSample扩展应用程序{
最终静态字符串austria=“austria”;
最终静态字符串巴西=“巴西”;
最终CategoryAxis xAxis=新CategoryAxis();
最终数字axis yAxis=新数字axis();
最终堆叠条形图sbc=
新堆叠条形图(xAxis、yAxis);
最终XYChart.系列1=
新的XYChart.Series();
最终XYChart.系列2=
新的XYChart.Series();
最终XYChart.系列3=
新的XYChart.Series();
@凌驾
公众假期开始(阶段){
阶段。设置标题(“条形图样本”);
sbc.setTitle(“错误累计值示例”);
xAxis.setLabel(“国家”);
xAxis.setCategories(FXCollections.observableArrayList(
(奥地利、巴西);
yAxis.setLabel(“值”);
系列1.集合名称(“2003”);
series1.getData().add(新的XYChart.Data(奥地利,9.5));
series1.getData().add(新的XYChart.Data(巴西,10));
序列2.集合名称(“2004”);
series2.getData().add(新的XYChart.Data(奥地利,9.3));
series2.getData().add(新的XYChart.Data(巴西,10));
系列3.集合名称(“2005”);
series3.getData().add(新的XYChart.Data(奥地利,11.2));
series3.getData().add(新的XYChart.Data(巴西,10));
场景=新场景(sbc,800600);
sbc.getData().addAll(系列1、系列2、系列3);
舞台场景;
stage.show();
}
公共静态void main(字符串[]args){
发射(args);
}
}
可以看出,奥地利和巴西的酒吧加起来都是30个。然而,在制作的图表上,奥地利的酒吧加起来似乎不到30

有什么我遗漏的吗

我在Ubuntu 14.04上使用jdk1.8.031


提前谢谢。

是我还是12+8+9=29,一切都好吗;x;x;席已经做了最后一个快速改变,使例子更简单,我真的得到了尴尬我!谢谢:-)。我更新了示例。那么现在实际的问题是什么?根据您的更改,条的高度与预期相同。您是否执行了代码?图表中的条形图有相同的高度吗?您使用了什么版本的jdk?什么操作系统?我可能会质疑这些信息。谢谢,很有趣。我已经在JDK1.8.045上测试了它(并且它工作了,具有相同高度的条)。我在1.8.0_25上试过,条的高度不同(看起来十进制值被截断为整数)。