Vega
Vega en conditions réelles
Le pont entre une source de données réelle et une dataviz autoportée : transformer une réponse d'agrégation Elasticsearch/Kibana, un journal de trades ou un flux d'observabilité en spec Vega-Lite qui se rend toute seule. Mapping fidèle des formes de données du monde réel (buckets imbriqués, percentiles, moving_fn) et recettes métier complètes — drawdown sous-marin, high-water mark, burn-rate SLO — introuvables dans la doc officielle.
20 snippets phares
- Séries multiples : sous-agrégation + transform flattenPattern incontournable pour exploiter une sous-agrégation ES (date_histogram → terms) : aplatir les buckets imbriqués avec flatten puis extraire clé et valeur avec calculate. Buckets fournis inline au format de réponse ES.
- Latences P50/P95/P99 : agrégation percentiles + foldExtraction des percentiles au format de réponse Elasticsearch (objet lat.values) puis passage au format long avec fold pour tracer une ligne par percentile — données d'exemple inline.
- Lissage côté serveur : pipeline moving_fnMoyenne mobile façon pipeline moving_fn d'Elasticsearch superposée à la métrique brute : la spec lit les objets avg_lat.value et smooth.value du bucket — données d'exemple inline.
- Scatter sur documents bruts (hits.hits)Lecture des documents source plutôt que des agrégations : chaque ligne reproduit un hit ES et les champs sont extraits de _source avec calculate — documents d'exemple inline.
- Taux de variation : pipeline derivativeDérivée du volume entre buckets consécutifs façon pipeline derivative d'Elasticsearch (objet deriv.value, null sur le premier bucket), colorée selon le signe — buckets d'exemple inline.
- Pivot : du format long au format largeL'inverse de fold : pivot crée une colonne par modalité, ce qui permet de calculer un ratio entre deux séries initialement empilées en lignes.
- Top N dynamique : window rank + filterClassement par window rank puis filtre sur le rang — le pattern propre pour ne garder que les N premières catégories quel que soit le dataset.
- Diagramme de Pareto (barres + cumul %)Barres triées décroissantes et courbe de pourcentage cumulé sur axe droit, calculée par window + joinaggregate — l'outil classique du 80/20.
- Chandeliers japonais (OHLC)Règle low→high pour les mèches et barre open→close pour les corps, couleur selon le sens de la bougie — un graphique de prix complet en deux couches.
- Étiqueter automatiquement le point maximumjoinaggregate ramène le max global, un filtre isole la ligne correspondante et une couche point + texte la met en évidence — l'annotation suit les données.
- Libellés en bout de ligne (remplace la légende)Un window rank inversé sur la date isole le dernier point de chaque série pour y accrocher son nom — la légende disparaît et la lecture devient directe.
- Waterfall : décomposition du P&L mensuelChaque barre flotte entre un début et une fin précalculés (y/y2), colorée en hausse, baisse ou total — le pont comptable classique entre deux soldes.
- Radar approximé : profil de deux stratégiesVega-Lite n'a pas de mark radar : on projette chaque score en coordonnées polaires avec calculate (cos/sin) puis on ferme le polygone avec interpolate linear-closed.
- Funnel : attrition d'un pipeline de donnéesEntonnoir construit avec des barres centrées : calculate dérive -volume/2 et +volume/2 en x/x2, une couche text affiche les volumes au centre de chaque étage.
- Drawdown sous-marin : profondeur sous le plus-hautCourbe underwater classique du trading : une aire rouge en dégradé matérialise la distance au plus-haut d'equity, avec règle pointillée et étiquette ancrées sur le drawdown maximal.
- Courbe d'equity et high-water markLa ligne cyan suit l'equity du compte ; la ligne grise en escalier trace le plus-haut historique calculé par une window max cumulée — l'écart entre les deux se lit d'un coup d'œil.
- Win rate glissant sur 20 tradesUne window mean transforme la série binaire gagné/perdu en win rate glissant : la courbe ne démarre qu'une fois la fenêtre complète (filter) et se compare à la règle des 50 %.
- MAE vs MFE : qualité d'exécution des tradesChaque point compare l'excursion adverse maximale (MAE) à l'excursion favorable maximale (MFE) d'un trade, coloré selon le résultat — un MFE élevé chez les perdants trahit des sorties mal placées.
- Waffle 5 × 8 : répartition des résultats de tradesQuarante carrés, un par trade : les transforms calculate (modulo et division entière) construisent la grille, et la couleur sémantique compte gagnants, perdants et break-even.
- Burn rate SLO : fenêtres 1 h et 6 hLes deux fenêtres du multi-window burn rate alerting (SRE workbook) sur un même graphe, chacune comparée à son seuil critique via des règles pointillées étiquetées.