用Javafx绘制barchart的另一个实例:
先看一下最终的结果:
image.png
代码与解释如下:
package com.company;
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 FigureBarchartSample extends Application {
final static String austria = "Austria";
final static String brazil = "Brazil";
final static String france = "France";
final static String italy = "Italy";
final static String usa = "USA";
@Override
public void start(Stage stage) {
stage.setTitle("Bar Chart Sample");
final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis();
final BarChart bc =
new BarChart(xAxis, yAxis);
bc.setTitle("Country Summary");
xAxis.setLabel("Country");
xAxis.setTickLabelRotation(90);
yAxis.setLabel("Value");
XYChart.Series series1 = new XYChart.Series();
series1.setName("2003");
series1.getData().add(new XYChart.Data(austria, 25601.34));
series1.getData().add(new XYChart.Data(brazil, 20148.82));
series1.getData().add(new XYChart.Data(france, 10000));
series1.getData().add(new XYChart.Data(italy, 35407.15));
series1.getData().add(new XYChart.Data(usa, 11000));
Scene scene = new Scene(bc, 400, 600);
bc.getData().add(series1);
bc.setLegendVisible(false);
stage.setScene(scene);
scene.getStylesheets().add("barchartsample/Chart.css");
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
运行结果为:
image.png