如何在 JavaFX 圖表中更改 X 軸和 Y 軸線的顏色?


javafx.scene.chart 包提供了建立各種圖表(例如線形圖、面積圖、柱形圖、餅圖、氣泡圖、散點圖等)的類。

除了餅圖之外,所有其他圖表都繪製在 XY 平面上。您可以透過例項化相應的類來建立所需的 XY 圖表。

更改軸線的顏色 -

  • JavaFX CSS 的 -fx-border-color 類用於設定節點邊框的顏色。

  • JavaFX CSS 的 -fx-border-width 類用於設定節點邊框的寬度。

  • Node(所有節點的基類)類的 setStyle() 方法接受一個 CSS 字串,並將指定的樣式設定為當前圖表。

  • 要更改 x 軸和 y 軸的顏色(更改為橙紅色),請使用 setStyle() 方法將以下 CSS 設定為圖表物件 -

fx-border-color: OrangeRed transparent transparent; -fx-border-width:3
-fx-border-color: transparent OrangeRed transparent transparent; -fx-borderwidth:3

示例

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.StackPane;
public class ChangingAxisColor extends Application {
   public void start(Stage stage) {
      //Defining the x axis
      NumberAxis xAxis = new NumberAxis(1960, 2020, 10);
      xAxis.setLabel("Years");
      //Defining the y axis
      NumberAxis yAxis = new NumberAxis (0, 350, 50);
      yAxis.setLabel("No.of schools");
      //Creating the line chart
      LineChart<Number,Number> linechart = new
      LineChart<Number,Number>(xAxis, yAxis);
      XYChart.Series<Number,Number> series = new XYChart.Series<Number,Number>();
      series.setName("No of schools in an year");
      series.getData().add(new XYChart.Data<Number,Number>(1970, 15));
      series.getData().add(new XYChart.Data<Number,Number>(1980, 30));
      series.getData().add(new XYChart.Data<Number,Number>(1990, 60));
      series.getData().add(new XYChart.Data<Number,Number>(2000, 120));
      series.getData().add(new XYChart.Data<Number,Number>(2013, 240));
      series.getData().add(new XYChart.Data<Number,Number>(2014, 300));
      //Setting the data to Line chart
      linechart.getData().add(series);
      //Changing the color of the x and y axis
      linechart.getXAxis().setStyle("-fx-border-color: OrangeRed transparent
      transparent; -fx-border-width:3");
      linechart.getYAxis().setStyle("-fx-border-color: transparent OrangeRed
      transparent transparent; -fx-border-width:3");
      //Creating a Group object
      StackPane root = new StackPane(linechart);
      //Setting the scene object
      Scene scene = new Scene(root, 595, 300);
      stage.setTitle("Line Chart");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

輸出

更新於: 2020-05-19

655 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.