￼
Estoy haciendo una aplicación de finanzas personales en Android con java. Quiero poder graficar ingresos, egresosy saldo en gráfica lineal y egresos y ingresos en gráfica circular. Me das un ejemplo
Para graficar en Android,  puedes utilizar la librería open-source llamada 'MPAndroidChart'. Proporciona varios tipos de gráficas, como gráficas de líneas, gráficas circulares y gráficas de barras.\n\nPuede agregar la dependencia de 'MPAndroidChart' en su archivo `build.gradle` (módulo: app):\n\n```gradle\ndependencies {\n    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'\n}\n```\n\nAquí tienes un ejemplo básico de cómo crear una gráfica de líneas (ingresos, egresos y saldo) y una gráfica circular (ingresos y egresos):\n\n1. Añade las vistas de gráfica en tu archivo de diseño XML:\n```xml\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    tools:context=\".MainActivity\">\n\n    <com.github.mikephil.charting.charts.LineChart\n        android:id=\"@+id/lineChart\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"200dp\" />\n\n    <com.github.mikephil.charting.charts.PieChart\n        android:id=\"@+id/pieChart\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"200dp\" />\n\n</LinearLayout>\n```\n\n2. Ahora crea las gráficas en tu actividad Java:\n\n```java\nimport android.graphics.Color;\nimport android.os.Bundle;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.github.mikephil.charting.charts.LineChart;\nimport com.github.mikephil.charting.charts.PieChart;\nimport com.github.mikephil.charting.components.Legend;\nimport com.github.mikephil.charting.data.Entry;\nimport com.github.mikephil.charting.data.LineData;\nimport com.github.mikephil.charting.data.LineDataSet;\nimport com.github.mikephil.charting.data.PieData;\nimport com.github.mikephil.charting.data.PieDataSet;\nimport com.github.mikephil.charting.data.PieEntry;\n\nimport java.util.ArrayList;\n\npublic class MainActivity extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        // Gráfica de líneas\n        LineChart lineChart = findViewById(R.id.lineChart);\n\n        ArrayList<Entry> ingresos = new ArrayList<>();\n        ArrayList<Entry> egresos = new ArrayList<>();\n        ArrayList<Entry> saldo = new ArrayList<>();\n\n        // Añade datos de ejemplo\n        ingresos.add(new Entry(1, 5000));\n        ingresos.add(new Entry(2, 7000));\n        ingresos.add(new Entry(3, 6500));\n\n        egresos.add(new Entry(1, 4500));\n        egresos.add(new Entry(2, 5500));\n        egresos.add(new Entry(3, 6000));\n\n        saldo.add(new Entry(1, 500));\n        saldo.add(new Entry(2, 1500));\n        saldo.add(new Entry(3, 500));\n\n        LineDataSet ingresosDataSet = new LineDataSet(ingresos, \"Ingresos\");\n        ingresosDataSet.setColor(Color.GREEN);\n        ingresosDataSet.setLineWidth(2);\n\n        LineDataSet egresosDataSet = new LineDataSet(egresos, \"Egresos\");\n        egresosDataSet.setColor(Color.RED);\n        egresosDataSet.setLineWidth(2);\n\n        LineDataSet saldoDataSet = new LineDataSet(saldo, \"Saldo\");\n        saldoDataSet.setColor(Color.BLUE);\n        saldoDataSet.setLineWidth(2);\n\n        LineData lineData = new LineData(ingresosDataSet, egresosDataSet, saldoDataSet);\n        lineChart.setData(lineData);\n        lineChart.invalidate();\n\n        // Gráfica circular\n        PieChart pieChart = findViewById(R.id.pieChart);\n        ArrayList<PieEntry> pieEntries = new ArrayList<>();\n\n        float totalIngresos = 0;\n        float totalEgresos = 0;\n\n        for (Entry entry : ingresos) {\n            totalIngresos += entry.getY();\n        }\n\n        for (Entry entry : egresos) {\n            totalEgresos += entry.getY();\n        }\n\n        pieEntries.add(new PieEntry(totalIngresos, \"Ingresos\"));\n        pieEntries.add(new PieEntry(totalEgresos, \"Egresos\"));\n\n        PieDataSet pieDataSet = new PieDataSet(pieEntries, \"\");\n        int[] pieColors = {Color.GREEN, Color.RED};\n        pieDataSet.setColors(pieColors);\n\n        PieData pieData = new PieData(pieDataSet);\n        pieChart.setData(pieData);\n\n        Legend pieLegend = pieChart.getLegend();\n        pieLegend.setWordWrapEnabled(true);\n        pieChart.setDrawEntryLabels(false);\n        pieChart.invalidate();\n\n    }\n}\n```\n\nEste ejemplo te muestra cómo representar datos en una gráfica de líneas y en una gráfica circular. Puedes personalizar aún más las gráficas utilizando los métodos proporcionados por la librería 'MPAndroidChart'. En este ejemplo, he utilizado datos de ejemplo, pero puedes reemplazarlos con los datos que obtengas de tu aplicación de finanzas personales.\n