我正在尝试创建一个像这样的轴系统:
我正在使用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);
}
}