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
)