Java - Ayuda con este programa en javaFX

   
Vista:

Ayuda con este programa en javaFX

Publicado por Carlos (1 intervención) el 23/05/2016 22:24:50
Hola buenas noches necesito ayuda con un programa que estoy haciendo sobre una interfaz con graficas en javaFX. La cuestión es que la practica va sobre representar datos sobre deportistas en graficas y tengo un problema con una grafica que no se parece a la grafica que me piden es la grafica de la tarta o PieChart.
Me piden lo siguiente:

Gráfica de tarta (PieChart) que muestre la distribución de tiempo que pasa el deportista en cada una de las siguientes 5 zonas cardiacas. Para conseguir estos datos es necesario indicar la FC máxima del deportista, pues las zonas cardíacas dependen de ese valor. Una vez conocidos los valores de FC concretos que separan una zona de otra se calculará el tiempo pasado en cada una de las zonas. Esos tiempos acumulados serán los que usaremos para construir la gráfica (Ilustración 2).
Z1 Recuperación <60% de la FC máxima
Z2 Fondo 60%-70%
Z3 Tempo 70%-80%
Z4 Umbral 80%-90%
Z5 Anaeróbico >90%-100%

Lo que he hecho ha sido lo siguiente:
double maxFrecuenciaCardiaca = this.trackdata.getMaxHeartrate();
En esa variable obtengo la frecuencia maxima Cardiaca
y con un bucle voy recorriendo el array que hay de datos en el array de chunks.
for (int i = 0; i < this.chunks.size(); i++) {
double frecuenciaMediaIntervalo = this.chunks.get(i).getAvgHeartRate();
getAvgHeartRate(); me da la media de dos puntos de la frecuencia cardiaca

double porcentaje = (frecuenciaMediaIntervalo * 100) / maxFrecuenciaCardiaca;
Calculo el porcentaje que representa esa media y con un vector de long de tamaño 5 voy clasificando las zonas
int zona = calculaZonaPorPorcentaje(porcentaje);
//Aqui se acumula el tiempo
distribucionZonas[zona] += this.chunks.get(i).getDuration().toNanos();

}

//Este es el metodo para clasificar las zonas
private int calculaZonaPorPorcentaje(double porcentaje) {
int zona = 0;
if (porcentaje < 60) {
zona = ZONA_Z1;
} else if (porcentaje >= 60 && porcentaje < 70) {
zona = ZONA_Z2;
} else if (porcentaje >= 70 && porcentaje < 80) {
zona = ZONA_Z3;
} else if (porcentaje >= 80 && porcentaje <= 90) {
zona = ZONA_Z4;
} else if (porcentaje >90 && porcentaje <= 100) {
zona = ZONA_Z5;
}
return zona;
}
Con este codigo intento representar el grafico pero no me coincide con el grafico que me dan de ejemplo
aqui voy a dejar dos imagenes una es la grafica que me piden y la otra es la grafica que me sale a mi
Espero que me puedan ayudar donde puede estar el error del por que no me sale igual.
Recuerden la primera imagen es el grafico que deberia salir y la segunda es la grafica que me sale a mi
Captura
Captura2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder