2012-04-06 6 views
5

enter image description hereоси Y в диапазоне XYChart

enter image description here

У меня есть проблемы масштабирования с XYChart черчения: мои данные Серию диапазоны значений с плавающей точкой от 0,4 до 0,5 и, когда нанесены на сцене я, как минимальное значение Y 1, поэтому я ничего не вижу.

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

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

Благодаря

ответ

5

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

+0

Спасибо Сергея за любезный ответ: то, что я хотел бы выполнить это автоматически установить свой диапазон Y в зависимости от набора данных, то есть я не хочу, чтобы установить Y AXYS каждый раз, когда я изменить набор данных. Так, например, я использую набор данных в диапазоне от 0,4 до 0,5, мой сюжет сцены должен отображать мин и макс в пределах этих значений (но фиксированный%, 2%, для минимального и максимального пространства на Y), и то же самое должно делать, если Я использую набор данных от 100 до 1500 –

+0

У меня есть ответ на обновление, пожалуйста, посмотрите. –

+0

Очень хорошо спасибо, я долго искал этот ответ :) –