JavaFX 独立旋转 NumberAxis

JavaFX Rotating NumberAxis independently

我正在尝试创建一个这样的轴系统:

我正在使用 javafx.scene.chart.NumberAxis。

x 轴非常直截了当:

NumberAxis xAxis = new NumberAxis(xStart,xEnd,xIncrement);

有没有办法把y轴旋转90度,像上图那样?

我尝试使用 Node 的 setRotate,但正如文档所述,它会旋转整个图形。 (我只想旋转轴而不是随之而来的数字)。

 NumberAxis yAxis = new NumberAxis(yStart,yEnd,yIncrement);
 yAxis.setRotate(90);

你只需要设置边:

NumberAxis yAxis = new NumberAxis(yStart,yEnd,yIncrement);
yAxis.setSide(Side.LEFT); // or Side.RIGHT

这是一个简单的例子:

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Side;
import javafx.scene.Scene;
import javafx.scene.chart.NumberAxis;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class AxisTest extends Application {

    @Override
    public void start(Stage primaryStage) {
        NumberAxis leftAxis = new NumberAxis(0, 100, 10);
        leftAxis.setSide(Side.LEFT);

        NumberAxis bottomAxis = new NumberAxis(0, 100, 10);


        GridPane root = new GridPane();
        Pane center = new Pane();
        center.setPrefSize(600, 600);
        root.add(center, 1, 0);
        root.add(leftAxis, 0, 0);
        root.add(bottomAxis, 1, 1);

        root.setPadding(new Insets(10));

        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}