如何在 JavaFX 饼图中将扇形逆时针排列?


饼图是一种圆形统计图形,其中数据值表示为圆的扇形。每个扇形都与其他扇形区分开来(通常通过颜色)。在 JavaFX 中,您可以通过实例化 **javafx.scene.chart.PieChart** 类来创建饼图。

更改扇形的排列方向

饼图的第一个扇形开始的角度称为 **起始角度**,您可以使用 **setStartAngle()** 方法设置此值(默认值为 0)。

PieChart 类提供了一个名为 **clockWise** 的属性(布尔值),用于指定当前饼图的扇形是从起始角度按顺时针方向排列(true - 顺时针,false - 逆时针)。默认情况下,此属性的值为 true。您可以使用 **setClockWise()** 方法更改它。

也就是说,如果要将饼图的扇形设置为逆时针方向,需要调用 **setClockWise()** 方法,并将 false 作为参数传递。

示例

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);
   }
}

输出

更新于:2020年5月20日

106 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.