2012-04-06 9 views
5

enter image description hereeje Y variar en XYChart

enter image description here

Tengo un problema de escala con XYChart trazado: los rangos de mis datos Serie en valores de coma flotante de 0,4 y 0,5 y cuando se representa en una escena consigo valor como mínimo Y 1, así que no puedo ver nada tramado.

Este problema no se plantea si uso de datos serie con valores más altos como 100>

¿Cómo puedo configurar eje y según el valor de la serie de datos utilizada?

Gracias

Respuesta

5

Como se indica en Javadoc para NumberAxis constructor: public NumberAxis(double lowerBound, double upperBound, double tickUnit) - que pueden proporcionar inferior y límites inferiores para su eje.

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); 

actualización: escala automática del gráfico trabaja para mí, así, ver el código siguiente y pantalla. Es posible que desee actualizar a JavaFX 2.1 o posterior.

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

Gracias Sergey por su amable respuesta: lo que me gustaría lograr es para establecer automáticamente mi rango Y de acuerdo con la serie de datos, es decir, no quiero establecer AXYS Y cada vez que cambio conjunto de datos. Entonces, por ejemplo, utilizo un conjunto de datos que van desde 0.4 y 0.5. Mi diagrama de escena debe mostrar min y max dentro de estos valores (pero un% fijo, 2%, para el mínimo y máximo espacio en Y), y lo mismo debería hacer si Yo uso un conjunto de datos que van desde 100 hasta 1500 –

+0

tengo una respuesta de actualización, por favor, eche un vistazo. –

+0

Muy bien muchas gracias Estaba buscando esta respuesta: :) –

Cuestiones relacionadas