BarChart柱状图

/**  
 * 第一种方式  
 *  
 * @return  
 */  
private BarChart<String, Number> getView1() {
    // 创建行以及设置标签
    CategoryAxis x = new CategoryAxis();  
    x.setLabel("国家");
    // 创建列以及设置标签
    /* 最低,最高,间距*/  
    NumberAxis y = new NumberAxis(0, 100, 10);  
    y.setLabel("GDP");  
    // 图数据
    ObservableList<XYChart.Series<String, Number>> listData = FXCollections.observableArrayList();  
    // 创建类型(同一种类型的柱状会显示同一颜色)
    XYChart.Series<String, Number> xy = new XYChart.Series<>();  
    xy.setName("生产总值");  
    ObservableList<XYChart.Data<String, Number>> data = FXCollections.observableArrayList();  
    XYChart.Data<String, Number> data1 = new XYChart.Data<>("日本", 70);  
    XYChart.Data<String, Number> data2 = new XYChart.Data<>("美国", 90);  
    XYChart.Data<String, Number> data3 = new XYChart.Data<>("英国", 50);  
    // 添加数据
    data.addAll(data1, data2, data3);  
    // 设置该类型的数据
    xy.setData(data);  
    // 添加类型
    listData.add(xy);  
    // 创建柱状图
    return new BarChart<>(x, y, listData);
}
/**  
 * 第二种方式  
 *  
 * @return  
 */  
private BarChart<String, Number> getView2() {  
    CategoryAxis x = new CategoryAxis();  
    x.setLabel("国家");  
    /* 最低,最高,间距*/  
    NumberAxis y = new NumberAxis(0, 100, 10);  
    y.setLabel("GDP");  
    XYChart.Series<String, Number> ChinaXY = new XYChart.Series<>();  
    ChinaXY.setName("中国");  
    XYChart.Series<String, Number> JapanXY = new XYChart.Series<>();  
    JapanXY.setName("日本");  
    XYChart.Series<String, Number> AmericanXY = new XYChart.Series<>();  
    AmericanXY.setName("美国");  
    XYChart.Data<String, Number> data1 = new XYChart.Data<>("GDP", 70);  
    XYChart.Data<String, Number> data2 = new XYChart.Data<>("GDP", 90);  
    XYChart.Data<String, Number> data3 = new XYChart.Data<>("GDP", 50);  
    XYChart.Data<String, Number> data4 = new XYChart.Data<>("GNP", 40);  
    XYChart.Data<String, Number> data5 = new XYChart.Data<>("GNP", 93);  
    XYChart.Data<String, Number> data6 = new XYChart.Data<>("GNP", 63);  
    ChinaXY.getData().addAll(data1, data4);  
    JapanXY.getData().addAll(data2, data5);  
    AmericanXY.getData().addAll(data3, data6);  
    BarChart<String, Number> chart = new BarChart<>(x, y);  
    chart.getData().addAll(ChinaXY, JapanXY, AmericanXY);  
    return chart;  
}
/**  
 * 第三种方式  
 *  
 * @return  
 */  
private BarChart<String, Number> getView3() {  
    CategoryAxis x = new CategoryAxis();  
    x.setLabel("国家");  
    /* 最低,最高,间距*/  
    NumberAxis y = new NumberAxis(0, 100, 10);  
    y.setLabel("GDP");  
    XYChart.Series<String, Number> GDPXY = new XYChart.Series<>();  
    GDPXY.setName("GDP");  
    XYChart.Series<String, Number> GNPXY = new XYChart.Series<>();  
    GNPXY.setName("GNP");  
    XYChart.Data<String, Number> data1 = new XYChart.Data<>("中国", 70);  
    XYChart.Data<String, Number> data2 = new XYChart.Data<>("美国", 90);  
    XYChart.Data<String, Number> data3 = new XYChart.Data<>("日本", 50);  
    XYChart.Data<String, Number> data4 = new XYChart.Data<>("中国", 40);  
    XYChart.Data<String, Number> data5 = new XYChart.Data<>("美国", 93);  
    XYChart.Data<String, Number> data6 = new XYChart.Data<>("日本", 63);  
    GDPXY.getData().addAll(data1, data2, data3);  
    GNPXY.getData().addAll(data4, data5, data6);  
    BarChart<String, Number> chart = new BarChart<>(x, y);  
    chart.getData().addAll(GDPXY, GNPXY);  
    return chart;  
}
/**  
 * 第四种方式  
 *  
 * @return  
 */  
private BarChart<Number, String> getView4() {  
    CategoryAxis x = new CategoryAxis();  
    x.setLabel("国家");  
    /* 最低,最高,间距*/  
    NumberAxis y = new NumberAxis(0, 100, 10);  
    y.setLabel("GDP");  
    XYChart.Series<Number, String> GDPXY = new XYChart.Series<>();  
    GDPXY.setName("GDP");  
    XYChart.Series<Number, String> GNPXY = new XYChart.Series<>();  
    GNPXY.setName("GNP");  
    XYChart.Data<Number, String> data1 = new XYChart.Data<>(70, "中国");  
    XYChart.Data<Number, String> data2 = new XYChart.Data<>(90, "美国");  
    XYChart.Data<Number, String> data3 = new XYChart.Data<>(50, "日本");  
    XYChart.Data<Number, String> data4 = new XYChart.Data<>(40, "中国");  
    XYChart.Data<Number, String> data5 = new XYChart.Data<>(93, "美国");  
    XYChart.Data<Number, String> data6 = new XYChart.Data<>(63, "日本");  
    GDPXY.getData().addAll(data1, data2, data3);  
    GNPXY.getData().addAll(data4, data5, data6);  
    BarChart<Number, String> chart = new BarChart<>(y, x);  
    chart.getData().addAll(GDPXY, GNPXY);  
    return chart;  
}

添加柱状图到布局中

GridPane box = new GridPane();  
BarChart<String, Number> chart1 = getView1();  
chart1.setTitle("第一种方式");  
chart1.setPrefWidth(300);  
chart1.setPrefHeight(300);  
box.add(chart1, 0, 0);  
BarChart<String, Number> chart2 = getView2();  
chart2.setTitle("第二种方式");  
chart2.setPrefWidth(300);  
chart2.setPrefHeight(300);  
box.add(chart2, 1, 0);  
BarChart<String, Number> chart3 = getView3();  
chart3.setTitle("第三种方式");  
chart3.setPrefWidth(300);  
chart3.setPrefHeight(300);  
box.add(chart3, 0, 1);  
BarChart<Number, String> chart4 = getView4();  
chart4.setTitle("第三种方式");  
chart4.setPrefWidth(300);  
chart4.setPrefHeight(300);  
box.add(chart4, 1, 1);

效果图