Saltar al contenido

MPAndroidChart Gráfico de barras horizontal / vertical

Deseamos compartir contigo la mejor información que encontramos en línea. Esperamos que te sirva de ayuda y si deseas compartir algo que nos pueda ayudar a mejorar hazlo libremente.

Solución:

Hay dos tipos de gráficos de barras en términos de orientación.

  • El gráfico de barras normal/vertical (las barras van de abajo hacia arriba), clase BarChartse ve, por ejemplo, así:
    ingrese la descripción de la imagen aquí
  • El gráfico de barras horizontales (las barras van de izquierda a derecha), clase HorizontalBarChartSe ve como esto:

    ingrese la descripción de la imagen aquí

Además de eso, también hay los llamados barras apiladas (múltiples valores en una sola barra), que se puede utilizar tanto en horizontal como en vertical. BarChart. Las entradas para barras apiladas se pueden crear a través del constructor de la BarEntry clase.

// normal entry
BarEntry normalEntry = new BarEntry(float value, int xIndex);

// stacked entry
BarEntry stackedEntry = new BarEntry(float [] values, int xIndex);

Además, consulte la documentación sobre la configuración de datos.

Puede ser que esto sea útil para alguien más.



    

en clase de actividad

 @Override
   public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState)

        HorizontalBarChart chart = (HorizontalBarChart) findViewById(R.id.chart);

        BarData data = new BarData(getXAxisValues(), getDataSet());
        chart.setData(data);
        chart.setDescription("My Chart");
        chart.animateXY(2000, 2000);
        chart.invalidate();

    

    private ArrayList getDataSet() 
        ArrayList dataSets = null;

        ArrayList valueSet1 = new ArrayList<>();
        BarEntry v1e1 = new BarEntry(110.000f, 0); // Jan
        valueSet1.add(v1e1);
        BarEntry v1e2 = new BarEntry(40.000f, 1); // Feb
        valueSet1.add(v1e2);
        BarEntry v1e3 = new BarEntry(60.000f, 2); // Mar
        valueSet1.add(v1e3);
        BarEntry v1e4 = new BarEntry(30.000f, 3); // Apr
        valueSet1.add(v1e4);
        BarEntry v1e5 = new BarEntry(90.000f, 4); // May
        valueSet1.add(v1e5);
        BarEntry v1e6 = new BarEntry(100.000f, 5); // Jun
        valueSet1.add(v1e6);

        ArrayList valueSet2 = new ArrayList<>();
        BarEntry v2e1 = new BarEntry(150.000f, 0); // Jan
        valueSet2.add(v2e1);
        BarEntry v2e2 = new BarEntry(90.000f, 1); // Feb
        valueSet2.add(v2e2);
        BarEntry v2e3 = new BarEntry(120.000f, 2); // Mar
        valueSet2.add(v2e3);
        BarEntry v2e4 = new BarEntry(60.000f, 3); // Apr
        valueSet2.add(v2e4);
        BarEntry v2e5 = new BarEntry(20.000f, 4); // May
        valueSet2.add(v2e5);
        BarEntry v2e6 = new BarEntry(80.000f, 5); // Jun
        valueSet2.add(v2e6);

        BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Brand 1");
        barDataSet1.setColor(Color.rgb(0, 155, 0));
        BarDataSet barDataSet2 = new BarDataSet(valueSet2, "Brand 2");
        barDataSet2.setColors(ColorTemplate.COLORFUL_COLORS);

        dataSets = new ArrayList<>();
        dataSets.add(barDataSet1);
        dataSets.add(barDataSet2);
        return dataSets;
    

    private ArrayList getXAxisValues() 
        ArrayList xAxis = new ArrayList<>();
        xAxis.add("JAN");
        xAxis.add("FEB");
        xAxis.add("MAR");
        xAxis.add("APR");
        xAxis.add("MAY");
        xAxis.add("JUN");
        return xAxis;
    

y la salida es como ingrese la descripción de la imagen aquí

Puntuaciones y comentarios

Si te ha sido útil nuestro post, sería de mucha ayuda si lo compartes con más programadores así contrubuyes a dar difusión a nuestro contenido.

¡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 *