如何在 JavaFX 中更改饼图中图例的位置?

javafxobject oriented programmingprogramming更新于 2025/4/13 19:22:17

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

更改切片的方向

PieChart 第一个切片的起始角度称为 起始角度,您可以使用 setStartAngle() 方法设置此值(默认值为 0)。

PieChart 类提供了一个称为 clockWise 的属性(布尔值),用于指定当前 PieChart 的切片是否从起始角度顺时针方向(true − 顺时针,false − 逆时针)。默认情况下,此属性的值为 true。您可以使用 setClockWise() 方法更改它。

即,如果您想以逆时针方向设置 PieChart 的切片,您需要调用 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) {
      //创建饼图
      PieChart pieChart = new PieChart();
      //设置数据
      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);
      //将切片设置为逆时针
      pieChart.setClockwise(false);
      //创建一个堆栈窗格来保存饼图
      StackPane pane = new StackPane(pieChart);
      pane.setStyle("-fx-background-color: BEIGE");
      //设置场景
      Scene scene = new Scene(pane, 595, 300);
      stage.setTitle("Pie Chart");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出


相关文章