AreaChart with custom style |
Create chartStyle.css in the same folder of the main java, define style of the AreaChart.
.default-color0.chart-area-symbol { -fx-background-color: #FFFFFFFF, #FFFFFFFF; } .default-color1.chart-area-symbol { -fx-background-color: #00000000, #00000000; } .default-color0.chart-series-area-line { -fx-stroke: #FF0000; } .default-color1.chart-series-area-line { -fx-stroke: #0000FF; } .default-color0.chart-series-area-fill { -fx-fill: #00FF00; } .default-color1.chart-series-area-fill { -fx-fill: #00000000; }
Main java code.
package javafx_charts; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.chart.AreaChart; import javafx.scene.chart.CategoryAxis; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.stage.Stage; /** * * @web http://java-buddy.blogspot.com/ */ public class JavaFX_Charts extends Application { @Override public void start(Stage primaryStage) { primaryStage.setTitle("java-buddy.blogspot.com"); Group root = new Group(); final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("Month"); yAxis.setLabel("Value"); final AreaChart<String,Number> areaChart = new AreaChart<>(xAxis,yAxis); areaChart.setTitle("AreaChart"); //Series 1 XYChart.Series series1 = new XYChart.Series(); series1.setName("XYChart.Series 1"); series1.getData().add(new XYChart.Data("January", 100)); series1.getData().add(new XYChart.Data("February", 200)); series1.getData().add(new XYChart.Data("March", 50)); series1.getData().add(new XYChart.Data("April", 75)); series1.getData().add(new XYChart.Data("May", 110)); series1.getData().add(new XYChart.Data("June", 300)); series1.getData().add(new XYChart.Data("July", 111)); series1.getData().add(new XYChart.Data("August", 30)); series1.getData().add(new XYChart.Data("September", 75)); series1.getData().add(new XYChart.Data("October", 55)); series1.getData().add(new XYChart.Data("November", 225)); series1.getData().add(new XYChart.Data("December", 99)); //Series 2 XYChart.Series series2 = new XYChart.Series(); series2.setName("XYChart.Series 2"); series2.getData().add(new XYChart.Data("January", 150)); series2.getData().add(new XYChart.Data("February", 100)); series2.getData().add(new XYChart.Data("March", 60)); series2.getData().add(new XYChart.Data("April", 40)); series2.getData().add(new XYChart.Data("May", 30)); series2.getData().add(new XYChart.Data("June", 100)); series2.getData().add(new XYChart.Data("July", 100)); series2.getData().add(new XYChart.Data("August", 10)); series2.getData().add(new XYChart.Data("September", 175)); series2.getData().add(new XYChart.Data("October", 155)); series2.getData().add(new XYChart.Data("November", 125)); series2.getData().add(new XYChart.Data("December", 150)); areaChart.getData().addAll(series1, series2); areaChart.getStylesheets().add( getClass().getResource("chartStyle.css").toExternalForm()); root.getChildren().addAll(areaChart); primaryStage.setScene(new Scene(root, 500, 400)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Reference: Styling Charts with CSS.
No comments:
Post a Comment