Диапазон осей Y в XYChart
У меня есть проблема масштабирования при построении графика XYChart: моя серия данных колеблется в значениях float от 0.4 и 0.5, и при построении на сцене я получаю как минимум значение Y 1, поэтому я ничего не вижу на графике.
Эта проблема не возникает, если я использую серию данных с более высокими значениями, такими как > 100
Как я могу установить ось y в соответствии с используемым значением серии данных?
Спасибо
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);