package com.github.lwhite1.tablesaw.plotting.fx;
import com.github.lwhite1.tablesaw.api.NumericColumn;
import com.github.lwhite1.tablesaw.columns.Column;
import javafx.collections.FXCollections;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.Background;
import java.util.List;
/**
*
*/
public class FxBuilder {
static NumberAxis getNumberAxis(NumericColumn numericColumn) {
final NumberAxis numberAxis = new NumberAxis();
numberAxis.setLabel(numericColumn.name());
return numberAxis;
}
static CategoryAxis getCategoryAxis(Column categoryColumn) {
final CategoryAxis categoryAxis = new CategoryAxis();
categoryAxis.setLabel(categoryColumn.name());
return categoryAxis;
}
static XYChart.Series<String, Number> getSeries(NumericColumn numericColumn, List<XYChart.Data<String, Number>>
data) {
XYChart.Series<String, Number> series1
= new XYChart.Series<>(FXCollections.observableList(data));
series1.setName(numericColumn.name());
return series1;
}
static BarChart<String, Number> getBarChart(String title, CategoryAxis categoryAxis, NumberAxis numberAxis) {
BarChart<String, Number> bar = new BarChart<>(categoryAxis, numberAxis);
bar.setTitle(title);
bar.setLegendVisible(false);
bar.setCategoryGap(0.0);
bar.setBarGap(0.1);
bar.setBackground(Background.EMPTY);
bar.setVerticalGridLinesVisible(false);
return bar;
}
}