Disclaimer : j'ai écrit Dash :)
Je recommanderais d'essayer les deux. Il faut environ 30 minutes à Dash pour parcourir les tutoriel .
Je vous recommande également de vérifier :
Dash présente certaines caractéristiques de haut niveau (elles sont décrites dans la section lettre d'annonce plus en détail)
- Les applications Dash ne nécessitent que très peu de code pour démarrer - une simple application Dash "hello world" qui affiche dynamiquement un graphique basé sur la valeur d'une liste déroulante pèse moins de 50 lignes de code.
- Les Dash Apps sont entièrement générées à partir de Python, même le HTML et le JS.
- Les Dash Apps lient des composants interactifs (menus déroulants, graphiques, curseurs, entrées de texte) avec votre propre code Python par l'intermédiaire de Dash " réactifs ".
callbacks
".
- Les Dash Apps sont "réactives", ce qui signifie qu'il est facile de raisonner sur des interfaces utilisateur compliquées avec de multiples entrées, de multiples sorties, et des entrées qui dépendent d'autres entrées.
- Les Dash Apps sont par nature des applications multi-utilisateurs car l'"état" de l'application se trouve entièrement dans le client : plusieurs utilisateurs peuvent visualiser les applications et avoir des sessions indépendantes.
- Comme Dash dispose d'un backend traditionnel sans état, il est facile de faire évoluer les applications pour servir des centaines ou des milliers d'utilisateurs en augmentant le nombre de processus de travail. Les demandes sont envoyées à n'importe quel travailleur disponible, ce qui permet à un petit nombre de travailleurs de servir un plus grand nombre de sessions.
- Dash utilise React.js pour rendre les composants et comprend un système de plugin pour créer vos propres composants Dash avec React.
- Dash's
Graph
est interactif, ce qui permet aux auteurs d'applications Dash d'écrire des applications qui réagissent au survol, au clic ou à la sélection de points sur le graphique.
J'ai également trouvé que la documentation de Plotly n'était pas très claire sur ce qu'est exactement l'Open Source et sur la question de savoir si les données sont téléchargées ou si le traçage peut être effectué hors ligne.
Il semble qu'il s'agisse de la plotly.py
bibliothèque graphique. Il s'agit d'une bibliothèque distincte de Dash. Les deux bibliothèques utilisent la licence MIT plotly.js
pour créer des graphiques. plotly.js
n'envoie aucune donnée au serveur plotly - elle est entièrement réalisée côté client.
En plotly.py
comprend des méthodes pour envoyer les données à votre compte plotly en ligne pour l'hébergement, le partage et l'édition des graphiques, mais il s'agit d'une option totalement facultative. Encore une fois, plotly.py
est une bibliothèque distincte de Dash
. plotly.py
permet de créer des graphiques interactifs, Dash
permet de créer des applications interactives (qui peuvent inclure des graphiques).
En particulier dans le cadre d'un déploiement multi-utilisateurs ? Il existe clairement deux modes pour la bibliothèque Plotly sous-jacente, mais dans quel mode Dash fonctionne-t-il ?
- Dash est sous licence MIT. Vous pouvez exécuter Dash sur vos propres serveurs ou sur votre machine.
- Dash utilise un serveur Flask, vous pouvez donc déployer des applications Dash de la même manière que des applications Flask.
- Licences Plotly Dash Enterprise une plateforme qui peut être installée sur votre propre infrastructure. Dash Enterprise est un "PaaS" qui facilite le déploiement d'applications sur vos propres serveurs, l'authentification SSO/LDAP, des capacités de conception supplémentaires, des capacités d'application supplémentaires, et bien plus encore.
9 votes
Ce commentaire compare plotly.py avec matplotlib. La question posée par l'OP concerne Tiret con Tableaux de bord Jupyter : Dash permet de créer des applications web interactives, plotly.py permet de créer des graphiques. Ce sont des bibliothèques distinctes avec des objectifs distincts ! Dash utilise plotly.js pour son composant Graphique mais matplotlib peut aussi être utilisé à travers la librairie
dash_html_components.Img
de la composante.