如何在 JavaFX 中更改饼图中图例的位置?
javafxobject oriented programmingprogramming更新于 2026/1/9 23:40: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);
}
}
输出


