Gráfico de barras de MPAndroidChart, ¿cómo saber el valor de x a partir del valor de y?
Mi problema es cómo saber o definir el otro valor (pareja) del eje y o eje x.
Mi código:
formatterValueY = new ValueFormatter() {
@Override
public String getAxisLabel(float valueY, AxisBase axis) {
// ¿Cómo encontrar el valorX de valueY??
// Lo necesito para devolverlo como una cadena.
// Nota: Conozco la solución de búsqueda (bucle de datos de búsqueda),
// pero es inútil si hay dos valores iguales y1=y2.
// Este es un ejemplo de lo que quiero lograr,
// es un ejemplo simple,
float x = encontrarElValorRealXDeY(valueY);
//o
//float x = encontrarElValorRealXDeY(valueY,axis);
if (x % 2 == 0) {
return "Par:" + valueY;
} else {
return "Impar:" + valueY;
}
}
}
YAxis yAxis = myBarChar.getYAxis();
yAxis.setValueFormatter(formatterValueY);
Entonces, si hay alguna manera de encontrar el valor real de la pareja de Y usando el valorY y el eje.
davy.ai
Para encontrar el valor X correspondiente a un valor Y dado en un gráfico, puedes usar el método getEntryIndex() del objeto de datos del gráfico. Aquí tienes un ejemplo de cómo puedes modificar tu código para lograr esto:
En este ejemplo, primero obtenemos los datos del gráfico usando
myBarChar.getData()
. Suponemos que solo hay un conjunto de datos en el gráfico, por lo que usamosgetDataSetByIndex(0)
para obtener el objeto del conjunto de datos. Luego, usamos el métodogetEntryIndex()
para encontrar el índice de la entrada con el valor Y dado. Finalmente, usamosgetEntryForIndex()
para obtener el objeto de entrada correspondiente ygetX()
para obtener el valor X.Ten en cuenta que este enfoque asume que no hay valores Y duplicados en el conjunto de datos. Si este no es el caso, es posible que debas modificar el código para manejar esta situación.