5

在此处输入图像描述

在此处输入图像描述

我的 XYChart 绘图存在缩放问题:我的数据系列的浮点值范围为 0.4 和 0.5,当在场景上绘制时,我得到最小 Y 值 1,所以我看不到任何绘制的内容。

如果我使用具有更高值(例如 > 100)的数据系列,则不会出现此问题

如何根据使用的数据系列值设置 y 轴?

谢谢

4

1 回答 1

5

正如 JavaDoc for NumberAxis 构造函数中所述:public NumberAxis(double lowerBound, double upperBound, double tickUnit)- 您可以为轴提供下限和下限。

    NumberAxis xAxis = new NumberAxis("X-Axis", 0d, 1d, .05);
    NumberAxis yAxis = new NumberAxis("Y-Axis", 0d, 1d, .05);
    ObservableList<XYChart.Series> data = FXCollections.observableArrayList(
            new ScatterChart.Series("Series 1", FXCollections.<ScatterChart.Data>observableArrayList(
            new XYChart.Data(.1, .1),
            new XYChart.Data(.2, .2))));
    ScatterChart chart = new ScatterChart(xAxis, yAxis, data);
    root.getChildren().add(chart);

更新:图表的自动调整范围也适用于我,请参阅下一个代码和屏幕截图。您可能想要升级到 JavaFX 2.1 或更高版本。

    NumberAxis xAxis = new NumberAxis();
    NumberAxis yAxis = new NumberAxis();
    ObservableList<XYChart.Series> data = FXCollections.observableArrayList(
            new ScatterChart.Series("Series 1", FXCollections.<ScatterChart.Data>observableArrayList(
            new XYChart.Data(.01, .1),
            new XYChart.Data(.1, .11),
            new XYChart.Data(.12, .12),
            new XYChart.Data(.18, .15),
            new XYChart.Data(.2, .2))));
    XYChart chart = new LineChart(xAxis, yAxis, data);
    root.getChildren().add(chart);

折线图

于 2012-04-06T10:32:39.277 回答