Java FX条形图未按预期工作
我正在尝试创建一个基于的条形图,显示基于给定条件的值。不知怎的,这张图表的表现并不像我预期的那样。根据我点击的次数,它会不断增加条数。请看下图。有一个按钮事件会生成此图,并且条会随着我单击按钮的次数而增加Java FX条形图未按预期工作,java,javafx,bar-chart,Java,Javafx,Bar Chart,我正在尝试创建一个基于的条形图,显示基于给定条件的值。不知怎的,这张图表的表现并不像我预期的那样。根据我点击的次数,它会不断增加条数。请看下图。有一个按钮事件会生成此图,并且条会随着我单击按钮的次数而增加 下面是我为更正代码所做的操作 XYChart.Series<String, Double> series1 = new XYChart.Series<>(); XYChart.Series<String, Double> series2 =
下面是我为更正代码所做的操作
XYChart.Series<String, Double> series1 = new XYChart.Series<>();
XYChart.Series<String, Double> series2 = new XYChart.Series<>();
XYChart.Series<String, Double> series3 = new XYChart.Series<>();
XYChart.Series<String, Double> series4 = new XYChart.Series<>();
xAxis.setLabel("Fuel Type");
yAxis.setLabel("%");
series1.getData()
.add(new XYChart.Data<String, Double>("Natural", Double.parseDouble(natural_gas.getText())));
series2.getData().add(new XYChart.Data<String, Double>("Diesel", Double.parseDouble(diesel.getText())));
series3.getData()
.add(new XYChart.Data<String, Double>("Light Fuel", Double.parseDouble(light_fuel_gas.getText())));
series4.getData().add(new XYChart.Data<String, Double>("LPG", Double.parseDouble(lpg.getText())));
bar_chart.getData().add(series1);
bar_chart.getData().add(series2);
bar_chart.getData().add(series3);
bar_chart.getData().add(series4);
bar_chart.setLegendVisible(false);
您似乎正在操作侦听器中设置操作侦听器。。。。取决于FXML文件中的内容。然后在该动作侦听器中,向条形图中的现有序列添加四个新序列。如果你解释一下你实际上想做什么,也许会有帮助,因为这似乎是预期的行为。我从方法签名中删除了ActionEvent。现在,我们的想法是在X轴上显示燃料类型,在Y轴上显示燃料值。我有四种类型的燃料。请让我知道如何执行这些操作。如果删除参数,则没有任何区别。它仍然是一个动作处理程序方法,不是吗?我不太清楚你想做什么。谢谢你的回复。正如我所说,这个想法是在xAxis上显示燃料类型,在yAxis上显示值。我有四种类型的燃料类型,我把它们添加到系列中,但不知怎么的,它不起作用。
XYChart.Series<String, Double> series1 = new XYChart.Series<>();
XYChart.Series<String, Double> series2 = new XYChart.Series<>();
XYChart.Series<String, Double> series3 = new XYChart.Series<>();
XYChart.Series<String, Double> series4 = new XYChart.Series<>();
xAxis.setLabel("Fuel Type");
yAxis.setLabel("%");
series1.getData()
.add(new XYChart.Data<String, Double>("Natural", Double.parseDouble(natural_gas.getText())));
series2.getData().add(new XYChart.Data<String, Double>("Diesel", Double.parseDouble(diesel.getText())));
series3.getData()
.add(new XYChart.Data<String, Double>("Light Fuel", Double.parseDouble(light_fuel_gas.getText())));
series4.getData().add(new XYChart.Data<String, Double>("LPG", Double.parseDouble(lpg.getText())));
bar_chart.getData().add(series1);
bar_chart.getData().add(series2);
bar_chart.getData().add(series3);
bar_chart.getData().add(series4);
bar_chart.setLegendVisible(false);