Barchart como TableRow en JavaFX
Me gustaría agregar un tipo de gráfico de barras a mi aplicación utilizando JavaFX:
Básicamente: una tabla (potencialmente grande, es decir, hasta 50 entradas). Para cada fila hay varias columnas con información. Una parte de la información son porcentajes sobre la relación ganar/empatar/perder, es decir, digamos tres números 10%, 50%, 40%. Me gustaría mostrar estos tres porcentajes gráficamente como una barra vertical, con tres colores diferentes. De modo que un usuario pueda obtener una impresión visual de cada uno de estos porcentajes.
No he encontrado un método simple o directo para hacer eso con JavaFX. Parece que al menos no hay un control para eso en este momento. Tampoco pude encontrar un control en ControlsFX que pareciera adecuado. Lo que estoy haciendo actualmente es tener la información en sí misma y tres columnas para los porcentajes de esta manera:
Opción Ganar Empatar Perder
=================================
opción1 10% 50% 40%
opción2 20% 70% 10%
opción3 ...
Pero eso simplemente no es tan agradable. ¿Cómo puedo lograr la pantalla gráfica mencionada anteriormente?
(He agregado una imagen para una mejor comprensión; es de lichess.org donde hacen exactamente eso en html)
davy.ai
Para lograr la visualización gráfica de porcentajes como barras verticales con diferentes colores, puedes utilizar la API de gráficos de JavaFX.
Aquí están los pasos para crear un gráfico de barras con tres colores diferentes que representan los porcentajes de victoria, empate y derrota:
BarChart
especificando las etiquetas del eje x y del eje y.XYChart.Data
para cada opción en la tabla con el valor porcentual correspondiente.XYChart.Series
para cada valor porcentual con un color único y añade los objetosXYChart.Data
correspondientes a él.XYChart.Series
al gráfico.Aquí tienes un fragmento de código que demuestra cómo lograr esto:
Ten en cuenta que este código asume que has creado estilos CSS para las barras de victoria, empate y derrota. Puedes hacer esto añadiendo el siguiente código a tu archivo CSS:
Esto establecerá el color de cada barra en verde para victoria, amarillo para empate y rojo para derrota.
Con este código, deberías poder lograr la visualización gráfica de porcentajes como barras verticales con diferentes colores en tu aplicación de JavaFX.</string,></string,></string,></string,>