PieChart类是JavaFX的一部分。 PieChart类用于创建饼图。图表内容由饼图根据PieChart上设置的数据填充。饼图的布局默认设置为顺时针。 PieChart继承Chart类。
该类的构造函数是:
- PieChart():创建饼图的空实例。
- PieChart(ObservableList data):使用给定的数据创建饼图的实例。
常用方法:
方法 | 说明 |
---|---|
getData() | 返回饼图的数据 |
getLabelLineLength() | 返回饼图的标签长度 |
getLabelsVisible() | 指示是否绘制饼图标签 |
getStartAngle() | 返回饼图的起始角度 |
isClockwise() | 返回饼图是否为顺时针 |
setClockwise(boolean v) | 将饼图方向设置为顺时针为true,则传递值 |
setData(ObservableList data) | 设置属性数据的值。 |
setLabelLineLength(double v) | 设置饼图的标签线长度。 |
setLabelsVisible(boolean v) | 设置属性labelsVisible的值。 |
setStartAngle(double v) | 设置饼图的起始角度 |
下面的程序将说明PieChart类的用法:
- Java程序使用一些指定的数据创建饼图:该程序创建一个PieChart。将创建一个PieChart.Data,并将其作为可观察的列表添加到饼图中。将在一个场景内创建PieChart,然后将其托管在舞台内。函数setTitle()用于为舞台提供标题。然后创建一个组,并附上饼图。该组将附加到场景。最后,调用show()方法以显示最终结果。
// Java program to create a pie chart // with some specified data import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.PieChart; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.scene.AmbientLight; import javafx.scene.shape.Sphere; import javafx.scene.control.*; import javafx.stage.Stage; import javafx.scene.Group; import javafx.scene.PerspectiveCamera; import javafx.scene.paint.Color; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.collections.FXCollections; public class pie_chart_1 extends Application { // launch the application public void start(Stage stage) { // set title for the stage stage.setTitle("Creating Pie Chart"); // piechart data PieChart.Data data[] = new PieChart.Data[5]; // string and integer data String status[] = {"Correct Answer", "Wrong Answer", "Compilation Error", "Runtime Error", "Others" }; int values[] = {20, 30, 10, 4, 2}; for (int i = 0; i < 5; i++) { data[i] = new PieChart.Data(status[i], values[i]); } // create a pie chart PieChart pie_chart = new PieChart(FXCollections.observableArrayList(data)); // create a Group Group group = new Group(pie_chart); // create a scene Scene scene = new Scene(group, 500, 300); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
- Java程序用一些指定的数据创建一个饼图,该饼图带有可见的标签和定义的起始角度,并按逆时针方向排序:该程序创建一个PieChart。将创建一个PieChart.Data,并将其作为可观察列表添加到饼图中。 PieChart将在场景内创建,而场景又将在场景内托管。函数setTitle()用于为舞台提供标题。然后创建一个组,并附上饼图。该组将附加到场景。最后,调用show()方法以显示最终结果。我们将使用setLabelLineLength()函数设置饼图的标签线长度,分别使用setStartAngle()和setClockwise()函数设置起始角度和顺时针方向。我们可以使用setLabelsVisible()函数使标签可见。
// Java program to create a pie chart with // some specified data, with visible labels // and a defined start angle, and ordered // in anticlockwise direction import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.PieChart; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.scene.AmbientLight; import javafx.scene.shape.Sphere; import javafx.scene.control.*; import javafx.stage.Stage; import javafx.scene.Group; import javafx.scene.PerspectiveCamera; import javafx.scene.paint.Color; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.collections.FXCollections; public class pie_chart_2 extends Application { // launch the application public void start(Stage stage) { // set title for the stage stage.setTitle("Creating Pie Chart"); // piechart data PieChart.Data data[] = new PieChart.Data[5]; // string and integer data String status[] = {"Correct Answer", "Wrong Answer", "Compilation Error", "Runtime Error", "Others"}; int values[] = {20, 30, 10, 4, 2}; for (int i = 0; i < 5; i++) { data[i] = new PieChart.Data(status[i], values[i]); } // create a pie chart PieChart pie_chart = new PieChart(FXCollections.observableArrayList(data)); // set line length of label pie_chart.setLabelLineLength(10.0f); // make labels visible pie_chart.setLabelsVisible(true); // set start angle pie_chart.setStartAngle(20.0f); // set anticlockwise pie_chart.setClockwise(false); // create a Group Group group = new Group(pie_chart); // create a scene Scene scene = new Scene(group, 500, 500); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
注意:以上程序可能无法在在线IDE中运行。请使用离线编译器。
参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/chart/PieChart.html
相关用法
- JavaFX 类 Tab用法及代码示例
- JavaFX 类 Pos用法及代码示例
- JavaFX 类 TextAlignment用法及代码示例
- JavaFX 类 FontWeight用法及代码示例
- JavaFX 类 FileChooser用法及代码示例
- JavaFX 类 DirectoryChooser用法及代码示例
- JavaFX 类 TextFlow用法及代码示例
- JavaFX 类 LineTo用法及代码示例
- JavaFX 类 ClosePath用法及代码示例
- JavaFX 类 Popup用法及代码示例
- JavaFX 类 TitledPane用法及代码示例
- JavaFX 类 Group用法及代码示例
- JavaFX 类 StackPane用法及代码示例
- JavaFX 类 SplitPane用法及代码示例
- JavaFX 类 ToolBar用法及代码示例
注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | PieChart Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。