我想创建一个带有2 y轴的JavaFX条形图,因为系列值相距太宽,导致第二个系列在图表中没有正确显示。
为了这个问题的目的,我已经将代码贬低了它的基础:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
public class MultiAxisTryout extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
stage.setTitle("Bar Chart Multi Example");
final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis();
final BarChart bc =
new BarChart(xAxis,yAxis);
bc.setTitle("Cost & Delta by JV");
xAxis.setLabel("JV");
XYChart.Series series1 = new XYChart.Series();
series1.setName("Cost");
XYChart.Series series2 = new XYChart.Series();
series2.setName("Delta");
series1.getData().add(new XYChart.Data("1000000", 25000));
series1.getData().add(new XYChart.Data("1200000", 30000));
series2.getData().add(new XYChart.Data("1000000", 22));
series2.getData().add(new XYChart.Data("1200000", 86));
Scene scene = new Scene(bc ,1800,1000);
scene.setFill(null);
bc.setAnimated(false);
bc.getData().addAll(series1,series2);
stage.setScene(scene);
stage.show();
}
}
结果如下:
正如你所看到的,第二个系列在条形图中没有很好地展示,所以有一个第二个y轴有自己的比例,在条形图中显示得更好。
这在JavaFx中是否可行?