MPAndroidChart en Kotlin: guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

MPAndroidChart en Kotlin: guía completa con ejemplos

MPAndroidChart es una potente y flexible librería de código abierto para crear gráficos y diagramas en aplicaciones Android. Escrita en Java, es totalmente compatible con Kotlin gracias a su completa interoperabilidad. Esta librería es el estándar de facto para la visualización de datos en el ecosistema Android, ofreciendo una amplia gama de tipos de gráficos: desde líneas y barras simples hasta gráficos circulares, de burbujas y combinados.

¿Para qué sirve MPAndroidChart? En el desarrollo móvil moderno, la visualización de datos juega un papel clave. Ya sea para mostrar indicadores financieros, resultados de entrenamientos deportivos, estadísticas de uso de la aplicación o la evolución de la temperatura, un gráfico de calidad hace que la información sea clara y comprensible. MPAndroidChart se encarga de todo el trabajo pesado de renderizado, animación, manejo de toques y zoom, permitiendo al desarrollador centrarse en la lógica de la aplicación. La librería soporta miles de puntos de datos, funciona de forma fluida incluso en dispositivos antiguos y ofrece decenas de opciones de personalización.

En esta guía, analizaremos en detalle la instalación de la librería, las clases y métodos principales, escribiremos varios ejemplos prácticos en Kotlin y daremos consejos útiles para optimizar el rendimiento. Al final del artículo, podrás integrar con confianza cualquier tipo de gráfico en tu aplicación Android.

1. Instalación

MPAndroidChart se distribuye a través de Maven Central. Para instalarlo, agrega la dependencia en el archivo build.gradle de tu módulo (normalmente app/build.gradle).

Comando exacto (Gradle):

dependencies {
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}

Después de agregar la línea, sincroniza el proyecto (Sync Now). La librería está lista para usarse.

Importante: Asegúrate de que en el build.gradle raíz (nivel de proyecto) esté agregado el repositorio Maven Central:

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

Si usas la nueva configuración (Gradle 7+), agrega el repositorio en settings.gradle.kts:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

2. Inicio rápido — ejemplo mínimo funcional

Vamos a crear un gráfico de líneas simple con tres puntos de datos. Primero, agrega un LineChart en tu archivo XML de diseño:

<!-- activity_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.github.mikephil.charting.charts.LineChart
        android:id="@+id/lineChart"
        android:layout_width="match_parent"
        android:layout_height="400dp" />

</LinearLayout>

Ahora, el código en la Activity (Kotlin):

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.github.mikephil.charting.charts.LineChart
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.data.LineData
import com.github.mikephil.charting.data.LineDataSet

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val lineChart: LineChart = findViewById(R.id.lineChart)

        // 1. Crear los puntos de datos (Entry)
        val entries = listOf(
            Entry(0f, 10f),   // x=0, y=10
            Entry(1f, 20f),   // x=1, y=20
            Entry(2f, 15f)    // x=2, y=15
        )

Recommendations