1. Introduction
1.1. Python Data Visualisation Overview
R dispose avec ggplot2 et shiny d’une bibliothèque graphique et d’un environnement de dashboard de référence.
Python hérite d’un historique plus ancien, de domaines d’application plus larges et d’une communauté open source plus importante. Il en résulte un écosystème tentaculaire.

Parmi l’ensemble de ces bibliothèques, les plus récentes utilisent les technologies HTML/CSS/JavaScript. L’intérêt est de produire une visualisation accessible au travers d’un navigateur web et par là même de disposer des fonctionnalités étendues de la bibliothèque D3JS qui fait référence dans la visualisation de données.
Par contre, cette bibliothèque étant très bas niveau, son emploi direct demeure difficile. Des wrappers ont donc été développés, les deux plus performants étant Plotly et Bokeh.
1.2. Bokeh vs Plotly
Pour ce qui concerne bokeh:
le développement est soutenu par Anaconda
le front end est directement basé sur D3
le back end est basé sur le framework tornado
le langage utilisé est Python mais quelques interactions complexes peuvent nécessiter du JavaScript
l’affichage dans un notebook Jupyter est possible pour les graphiques et les dashboards
l’utilisation de gros dataset peut être lente
le code nécessaire à la visualisation est concis
les dashboards sont construits avec bokeh server
utilisation native avec Pandas.
Pour ce qui concerne plotly:
le développement est soutenu par la société Plotly
le front end est basé sur la bibliothèque react développée par Facebook
le back end est basé sur le micro framework flask
les langages possibles sont Python, R et JavaScript. On peut étendre les possibilités en utilisant React et D3js.
l’affichage dans un notebook Jupyter est possible pour les graphiques
l’utilisation de gros dataset est rapide
le code nécessaire à la visualisation est très concis
les dashboards sont construits avec dash
utilisation native avec Pandas.
Conformément à ce qui précède, le choix de la communauté se porte actuellement sur plotly/dash comme en témoignent les indicateurs GitHub (il faut sommer les résultats pour l’univers Plotly qui structure sa solution en plusieurs dépôts) :

La tendance est confortée par les indicateurs stackoverflow :