Saltar al contenido

¿Cómo configurar las etiquetas del eje X en MP Android Chart (Gráfico de barras)?

Esta es la respuesta más correcta que encomtrarás compartir, pero mírala pausadamente y analiza si es compatible a tu trabajo.

Solución:

Simplemente haga una lista simple de string como esto :

final ArrayList xAxisLabel = new ArrayList<>();
    xAxisLabel.add("Mon");
    xAxisLabel.add("Tue");
    xAxisLabel.add("Wed");
    xAxisLabel.add("Thu");
    xAxisLabel.add("Fri");
    xAxisLabel.add("Sat");
    xAxisLabel.add("Sun");

Entonces haces esto:

    XAxis xAxis = chart.getXAxis();
    xAxis.setValueFormatter(new ValueFormatter() 
        @Override
        public String getFormattedValue(float value, AxisBase axis) 
            return xAxisLabel.get((int) value);

        
    );

Espero que esto ayude.

Kotlin:

val xAxisLabels = listOf("1", "2", "3", "4", "5", "6" ...)      
barChartView.xAxis.valueFormatter = IndexAxisValueFormatter(xAxisLabels)

Java:

ArrayList xAxisLables = new ArrayList();
xAxisLables.add("1");
xAxisLables.add("2");
xAxisLables.add("3");
xAxisLables.add("4"); ...

OR

String[] xAxisLables = new String[]"1","2", "3", "4" ...;

barChartView.getXAxis().setValueFormatter(new IndexAxisValueFormatter(xAxisLables));

Puedes preparar los datos que quieras en xAxisLabels mostrar

Para el com.github.PhilJay:MPAndroidChart:v3.0.3

Estoy usando una lista de etiquetas:

final List list_x_axis_name = new ArrayList<>();
list_x_axis_name.add("label1");
list_x_axis_name.add("label2");
list_x_axis_name.add("label3");
list_x_axis_name.add("label4");
list_x_axis_name.add("label5");

y configurando la etiqueta de esta manera:

BarChart chartBar = (BarChart) findViewById(R.id.chartBar);
XAxis xAxis = chartBar.getXAxis();
xAxis.setGranularity(1f);
xAxis.setCenterAxisLabels(true);
xAxis.setLabelRotationAngle(-90);
xAxis.setValueFormatter(new IAxisValueFormatter() 
 @override
 public String getFormattedValue(float value, AxisBase axis) 
  if (value >= 0) 
   if (value <= list_x_axis_name.size() - 1) 
    return list_x_axis_name.get((int) value);
   
   return "";
  
  return "";
 
);

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *