How to set the slices of a JavaFX PieChart in anti-clockwise direction?



The pie chart is a data a circular statistical graphic, where the data values are represented as the slices of a circle. Each slice is differentiated from other (typically by color). In JavaFX, you can create a pie chart by instantiating the javafx.scene.chart.PieChart class.

Changing the direction of the slices

The angle at which the first slice of a PieChart is started is known as start angle and you can set this value using the setStartAngle() method (by default, 0).

The PieChart class provides a property (boolean) known as clockWise specifying whether the slices of the current PieChart are in a clockwise direction from the start angle (true − clockwise, false − anti-clockwise). By default, the value of this property is true. You can change it using the setClockWise() method.

i.e. if you want to set the slices of a PieChart in the anti-clockwise direction you need to invoke the setClockWise() method, bypassing false as an argument.

Example

import javafx.application.Application; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.chart.PieChart; import javafx.scene.layout.StackPane; public class PieChart_AntiClockWise extends Application {    @Override    public void start(Stage stage) {       //Creating a Pie chart       PieChart pieChart = new PieChart();       //Setting data       ObservableList data = FXCollections.observableArrayList(          new PieChart.Data("Work", 10),          new PieChart.Data("Chores", 2),          new PieChart.Data("Sleep", 8),          new PieChart.Data("Others", 4)       );       pieChart.setData(data);       //Setting the slices anti-clockwise       pieChart.setClockwise(false);       //Creating a stack pane to hold the pie chart       StackPane pane = new StackPane(pieChart);       pane.setStyle("-fx-background-color: BEIGE");       //Setting the Scene       Scene scene = new Scene(pane, 595, 300);       stage.setTitle("Pie Chart");       stage.setScene(scene);       stage.show();    }    public static void main(String args[]){       launch(args);    } }

Output

Updated on: 2020-05-20T08:04:10+05:30

167 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements