JavaFX 折线图中的符号是什么?如何禁用它们?

javafxobject oriented programmingprogramming更新于 2026/1/10 2:20:17

在折线图中,数据值表示由线连接的一系列点。在 JavaFX 中,您可以通过实例化 javafx.scene.chart.LineChart 类来创建折线图。

默认情况下,

  • JavaFX 折线图包含指向 x 轴上一系列值的符号。通常,这些是小圆圈。

  • 绘图底部的 X 轴。

  • 左侧的 Y 轴。

禁用符号

LineChart 类有一个名为 createSymbols(布尔值)的属性,用于指定是否为图表中的数据项创建符号。您可以使用 setCreateSymbols() 方法设置此方法的值。

要从折线图中移除符号,您需要通过将布尔值 false 作为参数传递给此方法来调用此方法。

示例

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.StackPane;
public class LineChart_Symbols extends Application {
   public void start(Stage stage) {
      //定义 x 和 y 轴
      CategoryAxis xAxis = new CategoryAxis();
      NumberAxis yAxis = new NumberAxis(200, 600, 100);
      //设置轴的标签
      xAxis.setLabel("Model");
      yAxis.setLabel("Price (USD)");
      //创建折线图
      LineChart linechart = new LineChart(xAxis, yAxis);
      //准备线的数据点
      XYChart.Series series = new XYChart.Series();
      series.getData().add(new XYChart.Data("OnePlus X", 249));
      series.getData().add(new XYChart.Data("OnePlus One", 299));
      series.getData().add(new XYChart.Data("OnePlus 2", 329));
      series.getData().add(new XYChart.Data("OnePlus 3", 399));
      series.getData().add(new XYChart.Data("OnePlus 3T", 439));
      series.getData().add(new XYChart.Data("OnePlus 5", 479));
      series.getData().add(new XYChart.Data("OnePlus 5T", 499));
      series.getData().add(new XYChart.Data("OnePlus 6", 559));
      //设置折线图(series)的名称
      series.setName("Price of mobiles");
      //设置折线图的数据
      linechart.getData().add(series);
      //移除折线图的符号
      linechart.setCreateSymbols(false);
      //创建一个堆栈窗格来保存图表
      StackPane pane = new StackPane(linechart);
      pane.setPadding(new Insets(15, 15, 15, 15));
      pane.setStyle("-fx-background-color: BEIGE");
      //设置场景
      Scene scene = new Scene(pane, 595, 300);
      stage.setTitle("Line Chart");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出


相关文章