====== Data, analyse et visualisation ====== (page créée le 29 avril 2022) Outils code, logiciel, web pour manipuler, traiter, analyser, visualiser des données ===== Formats ===== ==== Texte / Flat files ==== **CSV** (Comma Separated Value) : * https://fr.wikipedia.org/wiki/Comma-separated_values **JSON** (JavaScript Object Notation) : * https://www.json.org/json-en.html * https://fr.wikipedia.org/wiki/JavaScript_Object_Notation ==== Bases de données ==== (...) ===== Notebook ===== ==== Observable ==== Observable est un carnet de notes augmenté, qui permet de créer des documents interactifs pour représenter des analyses de données interactives. Sur un même document web, on peut assembler : du code javascript, des images, du texte en markdown, du HTML, etc. Mais aussi de téléversser des fichiers de données de différents formats (CSV, XLSX), de se relier à des fichiers du cloud, des API ou des bases de données.\\ Plusieurs bibliothèques de code javascript sont accessibles directement : [[https://observablehq.com/@d3/learn-d3-by-example|d3]], [[https://observablehq.com/@observablehq/plot|plot]], survey, [[https://observablehq.com/@motiondesign_01/setting-up-p5js|p5.js]] C'est aussi une communauté et un document public peut-être forké pour en créer un nouveau que l'on peut modifier, plusieurs templates sont aussi fournis pour démarrer de nouveaux documents. Les exemples sont nombreux : * https://observablehq.com/explore * https://observablehq.com/@d3/gallery Doc : https://observablehq.com/@observablehq/documentation Plot : * https://observablehq.com/@observablehq/plot-cheatsheets * https://github.com/observablehq/plot/blob/main/README.md Survey : * https://observablehq.com/@observablehq/survey-report-builder * https://observablehq.com/@observablehq/survey-data * https://observablehq.com/@observablehq/survey-cross-tabulation-analysis p5.js : * https://observablehq.com/@tmcw/p5 * https://observablehq.com/@irenedelatorre/canvas-p5-js-and-circle-packing-collision-and-cluster-force exemple complet avec variables externes Utiliser SQL (on peut transformer un doc JSON ou CSV en base de données et l'interroger grâce à DuckDB) * https://observablehq.com/@cmudig/duckdb-client Diagrammes de Venn * https://observablehq.com/@dunderdan/simple-venn-diagram-generator (2 ensembles) * https://observablehq.com/@chenlianmt/simple-venn-diagram-generator (3 ensembles) Upset Plots, représentation d'intersections d'ensemble multiples * https://observablehq.com/@spren9er/upset-plots-with-observable-plot Wordcloud * https://observablehq.com/@d3/word-cloud Une sorte de Best of 2021 : https://observablehq.com/@tomlarkworthy/notebooks2021 ===== Autres services en ligne ===== **rawgraphs.io** application en ligne avec de nombreux types de visualisation : https://app.rawgraphs.io/ **upset.js** création d'//upset plots//, intersections d'ensembles multiples : https://upset.js.org/app/ ===== Ligne de commande ===== **csvkit** \\ Ensemble d'outils en ligne de commande pour manipuler des fichiers CSV * https://csvkit.readthedocs.io/en/latest/ * https://github.com/wireservice/csvkit **qsv** : https://github.com/jqnatividad/qsv **xsv** : https://github.com/BurntSushi/xsv ===== Par type de représentation ===== **Diagramme de Venn** \\ Utile pour représenter le croisement de 2 ou 3 ensembles * Voir ci-dessus pour ObservableHQ * **Upset Plots** \ Utile pour représenter les croisements d'ensembles multiples * https://github.com/upsetjs/upsetjs, création en ligne interactive : https://upset.js.org/app/ * en ligne : https://upset.app/ (formatage des données : https://upset.app/advanced/#tabular) Par exemple pour utiliser https://upset.js.org/app/ on formatera les données comme ceci : id;reponse1;reponse2;reponse3 1;0;0;1 2;1;0;1 3;0;1;0 id reponse1 reponse2 reponse3 1 0 0 1 2 1 0 1 3 0 1 0 **Nuage de mots / wordcloud** \\ Utile pour représenter des réponses libres à une question ===== Code ===== ==== Python ==== **agate** \\ Bibliothèque python pour l'analyse * https://agate.readthedocs.io/en/latest/about.html * https://github.com/wireservice/agate ==== Javascript ==== **d3js** * https://d3js.org/ ===== Logiciels ===== (...)