MPAndroidChart – Agregar tags al gráfico de barras

Es necesario que mi aplicación tenga una etiqueta en cada barra del gráfico de barras. ¿Hay alguna manera de hacer esto con MPAndroidChart? No pude encontrar una manera de hacerlo en el proyecto wiki / javadocs.

Si no hay una manera de hacerlo, ¿hay otro software que me permita?

enter image description here

Respuesta actualizada (MPAndroidChart v3.0.1)

Siendo una característica tan comúnmente utilizada, v3.0.1 de la biblioteca agregó la clase IndexAxisValueFormatter exactamente para este propósito, por lo que ahora solo se trata de una línea de código:

 mBarChart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(labels)); 

El ProTip de la respuesta original a continuación todavía se aplica.

Respuesta original (MPAndroidChart v3.0.0)

Con v3.0.0 de la biblioteca, no hay una manera directa de establecer tags para las barras, pero hay una solución bastante decente que usa la interfaz ValueFormatter .

Crea un nuevo formateador como este:

 public class LabelFormatter implements IAxisValueFormatter { private final String[] mLabels; public LabelFormatter(String[] labels) { mLabels = labels; } @Override public String getFormattedValue(float value, AxisBase axis) { return mLabels[(int) value]; } } 

Luego, configure este formateador en su eje x (suponiendo que ya haya creado una String[] contenga las tags):

 mBarChart.getXAxis().setValueFormatter(new LabelFormatter(labels)); 

ProTip: si desea eliminar las tags adicionales que aparecen al hacer zoom en el gráfico de barras, puede usar la función de granularidad:

 XAxis xAxis = mBarChart.getXAxis(); xAxis.setGranularity(1f); xAxis.setGranularityEnabled(true); 

puede establecer la etiqueta de la columna de arriba agregando esta línea ir código

 xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);