Диапазон осей Y в XYChart


Введите описание изображения здесь

Введите описание изображения здесь

У меня есть проблема масштабирования при построении графика XYChart: моя серия данных колеблется в значениях float от 0.4 и 0.5, и при построении на сцене я получаю как минимум значение Y 1, поэтому я ничего не вижу на графике.

Эта проблема не возникает, если я использую серию данных с более высокими значениями, такими как > 100

Как я могу установить ось y в соответствии с используемым значением серии данных?

Спасибо

1 5

1 ответ:

Как указано в JavaDoc для конструктора 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);

Update : Авторанжировка диаграммы работает и для меня, см. следующий код и скриншот. Возможно, вы захотите перейти на 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);

linechart