JavaFX堆叠条形图上的累积数字错误
我正在尝试使用JavaFX8构建一个堆叠条形图,但某些条形图的累积值没有正确地以图形方式再现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;
为了说明问题,考虑下面的程序,提取出来,稍加修改,得到问题:
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上试过,条的高度不同(看起来十进制值被截断为整数)。