Maîtriser ECharts : Fondamentaux et Mise en Œuvre de la Visualisation de Données

ECharts est une bibliothèque JavaScript open-source puissante dédiée à la création de visualisations de données interactives. Développée initialement par Baidu, elle permet un rendu fluide sur PC et mobiles tout en garantissant une compatibilité étendue avec les navigateurs modernes et plus anciens (IE8+). Basée sur le moteur vectoriel ZRender, elle offre une flexibilité totale pour concevoir des graphiques allant des simples barres aux cartes géographiques complexes.

Comparaison des solutions de visualisation

  • D3.js : Extrêmement puissant pour les manipulations DOM complexes, mais possède une courbe d'aprpentissage très abrupte.
  • Highcharts : Une solution robuste et complète, souvent préférée en entreprise, bien que soumise à des licences commerciales pour certains usages.
  • AntV : Une suite de visualisation moderne proposée par l'écosystème Ant Financial (Alibaba).
  • ECharts : Se distingue par sa facilité d'intégration, ses performances natives et sa vaste collection de modèles prêts à l'emploi.

Processus d'intégration standard

L'implémentation d'un graphique ECharts suit un flux de travail structuré en cinq étapes clés :

1. Inclusion de la bibliothèque
Importez le fichier JavaScript ECharts dans votre projet via un CDN ou un gestionnaire de paquets.

2. Définition du conteneur
Créez un élément HTML, généralement une div, avec des dimensions explicites (largeur et hauteur).

<div id="stats-chart" style="width: 750px; height: 450px;"></div>

3. Initialisation de l'instance
Utilisez la méthode init pour lier ECharts à votre élément DOM.

const chartDom = document.getElementById('stats-chart');
const myChartInstance = echarts.init(chartDom);

4. Configuration des options (Object Option)
Définissez la structure, le style et les données de votre graphique.

const chartSettings = {
    xAxis: {
        type: 'category',
        data: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110],
        type: 'bar',
        itemStyle: { color: '#3498db' }
    }]
};

5. Rendu du graphique
Appliquez la configuration à l'instance pour générer le visuel.

myChartInstance.setOption(chartSettings);

Composants clés de configuration

Pour personnaliser efficacement vos graphiques, il est essentiel de comprendre les propriétés suivantes :

  • series : Le cœur du graphique. Définit le type de visualisation (line, bar, pie, scatter) et contient les données brutes.
  • xAxis & yAxis : Gèrent les axes dans un système de coordonnées cartésiennes.
  • grid : Définit la zone de dessin réelle à l'intérieur du conteneur, permettant d'ajuster les marges.
  • tooltip : Configure l'infobulle interactive qui apparaît au survol des données.
  • legend : Affiche les étiquettes pour identifier les différentes séries de données.
  • toolbox : Ajoute des outils utilitaires comme l'export en image ou le zoom.

Exemple complet : Graphique linéaire empilé

L'exemple suivant illustre l'utilisation de plusieurs séries de données avec un empilement (stacking) et une personnalisation avancée des couleurs.

const visualConfig = {
    color: ['#ff9f7f', '#37a2da', '#67e0e3'],
    title: { text: 'Flux de Trafic Réseau' },
    tooltip: { trigger: 'axis' },
    legend: { data: ['Entrant', 'Sortant'] },
    grid: {
        left: '5%',
        right: '5%',
        bottom: '10%',
        containLabel: true
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi']
    },
    yAxis: { type: 'value' },
    series: [
        {
            name: 'Entrant',
            type: 'line',
            stack: 'total',
            data: [450, 532, 601, 734, 890]
        },
        {
            name: 'Sortant',
            type: 'line',
            stack: 'total',
            data: [220, 382, 491, 534, 690]
        }
    ]
};
myChartInstance.setOption(visualConfig);

Visualisation Géographique et Cartographie

ECharts permet d'intégrer des cartes complexes via le composant geo. Pour afficher une carte spécifique, vous devez charger les fichiers JSON ou JS correspondants (ex: china.js ou world.js).

Configuration typique pour une carte personnalisée :

geo: {
    map: 'china',
    zoom: 1.2,
    roam: true, // Autoriser le zoom et le déplacement
    itemStyle: {
        areaColor: '#2c3e50',
        borderColor: '#ecf0f1'
    },
    emphasis: {
        itemStyle: { areaColor: '#e74c3c' }
    }
}

Optimisation Responsive

Pour garantir que les visualisations s'adaptent à toutes les résolutions d'écran, l'utilisation de media queries CSS est recommandée pour ajuster la taille de base des polices ou des conteneurs, couplée à la méthode resize() d'ECharts en JavaScript.

/* Adaptation de la police selon la taille de l'écran */
@media screen and (max-width: 1024px) {
    html { font-size: 14px; }
}
@media screen and (min-width: 1920px) {
    html { font-size: 20px; }
}

Étiquettes: ECharts JavaScript Data-Visualization Frontend-Development Web-Charts

Publié le 2 juin à 21h39