Skip to content
Dim edited this page Apr 29, 2019 · 1 revision

Charts Generation

All the examples can be found in the plug-in de.dc.javafx.xcore.lang.lib. There a a lot of example for each chart type.

Here are main classes to demo the charts

  • BudgetAreaChartApplication.java
  • BudgetBubbleChartApplication.java
  • BudgetLineChart2Application.java
  • BudgetLineChartApplication.java
  • ContactListApplication.java
  • ContactTableApplication.java
  • ContactTileApplication.java
  • ContactTreeApplication.java
  • CountryBarChartApplication.java
  • FruitDoughnutChartApplication.java
  • InvestmentScatterChartApplication.java

Area chart definition

This is the minimal definition to create an area chart

public class BudgetAreaChart extends BaseAreaChart<Number, Number> {

    public BudgetAreaChart() {
        super(new NumberAxis(), new NumberAxis());
    }

    @Override
    protected String getChartTitle() {
        return "Budget Overview AreaChart";
    }

    @Override
    protected String getYAxisTitle() {
        return "Months";
    }

    @Override
    protected String getXAxisTitle() {
        return "Values";
    }
}

To run the application, we create a main class with populating data.

public class BudgetAreaChartApplication extends AbstractApplication {

    @Override
    protected Parent getRoot() {
        BudgetAreaChart chart = new BudgetAreaChart();
        Series<Number, Number> timiLee = chart.addSerie("Timi Lee");
        Series<Number, Number> paulWander = chart.addSerie("Paul Wander");
        Series<Number, Number> annaBeta = chart.addSerie("Anna Beta");
        
        chart.addAllData(timiLee, getTimiLeeDataList());
        chart.addAllData(paulWander, getPaulWanderDataList());
        chart.addAllData(annaBeta, getAnnaBetaDataList());
        return chart;
    }

    private Random random = new Random();
    
    private List<Data<Number, Number>> getTimiLeeDataList() {
        ObservableList<Data<Number, Number>> dataList = FXCollections.observableArrayList();
        for (int i = 0; i < 30; i++) {
            dataList.add(new Data<Number, Number>(i, random.nextDouble()));
        }
        return dataList;
    }

    private List<Data<Number, Number>> getPaulWanderDataList() {
        ObservableList<Data<Number, Number>> dataList = FXCollections.observableArrayList();
        for (int i = 0; i < 30; i++) {
            dataList.add(new Data<Number, Number>(i, random.nextDouble()));
        }
        return dataList;
    }
    
    private List<Data<Number, Number>> getAnnaBetaDataList() {
        ObservableList<Data<Number, Number>> dataList = FXCollections.observableArrayList();
        for (int i = 0; i < 30; i++) {
            dataList.add(new Data<Number, Number>(i, random.nextDouble()));
        }
        return dataList;
    }

    public static void main(String[] args) {
        launch(args);
    }

}