Vega
Vega en el mundo real
El puente entre una fuente de datos real y una dataviz autónoma: convertir una respuesta de agregación de Elasticsearch/Kibana, un registro de trades o un flujo de observabilidad en una spec Vega-Lite que se renderiza sola. Mapeo fiel de las formas de datos del mundo real (buckets anidados, percentiles, moving_fn) y recetas de negocio completas —drawdown submarino, high-water mark, burn-rate de SLO— imposibles de encontrar en la documentación oficial.
20 snippets destacados
- Series múltiples: subagregación + transform flattenEl patrón imprescindible para explotar una subagregación de ES (date_histogram → terms): aplanar los buckets anidados con flatten y luego extraer clave y valor con calculate. Los buckets se incluyen inline en el formato de respuesta de ES.
- Latencias P50/P95/P99: agregación percentiles + foldExtracción de los percentiles en el formato de respuesta de Elasticsearch (objeto lat.values) y paso a formato largo con fold para trazar una línea por percentil — datos de ejemplo inline.
- Suavizado en el servidor: pipeline moving_fnMedia móvil al estilo del pipeline moving_fn de Elasticsearch superpuesta a la métrica en bruto: la spec lee los objetos avg_lat.value y smooth.value del bucket — datos de ejemplo inline.
- Scatter sobre documentos en bruto (hits.hits)Lectura de los documentos fuente en lugar de las agregaciones: cada fila reproduce un hit de ES y los campos se extraen de _source con calculate — documentos de ejemplo inline.
- Tasa de variación: pipeline derivativeDerivada del volumen entre buckets consecutivos al estilo del pipeline derivative de Elasticsearch (objeto deriv.value, null en el primer bucket), coloreada según el signo — buckets de ejemplo inline.
- Pivot: del formato largo al formato anchoEl inverso de fold: pivot crea una columna por categoría, lo que permite calcular un ratio entre dos series que estaban inicialmente apiladas en filas.
- Top N dinámico: window rank + filterClasificación con window rank y luego filtro sobre el rango — el patrón limpio para conservar solo las N primeras categorías, sea cual sea el dataset.
- Diagrama de Pareto (barras + % acumulado)Barras ordenadas de mayor a menor y curva de porcentaje acumulado en el eje derecho, calculada con window + joinaggregate — la herramienta clásica del 80/20.
- Velas japonesas (OHLC)Regla low→high para las mechas y barra open→close para los cuerpos, color según el sentido de la vela — un gráfico de precios completo en dos capas.
- Etiquetar automáticamente el punto máximojoinaggregate trae el máximo global, un filtro aísla la fila correspondiente y una capa point + text la resalta — la anotación sigue a los datos.
- Etiquetas al final de la línea (sustituyen a la leyenda)Un window rank invertido sobre la fecha aísla el último punto de cada serie para colgar ahí su nombre — la leyenda desaparece y la lectura se vuelve directa.
- Waterfall: descomposición del P&L mensualCada barra flota entre un inicio y un fin precalculados (y/y2), coloreada como subida, bajada o total — el clásico puente contable entre dos saldos.
- Radar aproximado: perfil de dos estrategiasVega-Lite no tiene un mark radar: se proyecta cada puntuación en coordenadas polares con calculate (cos/sin) y luego se cierra el polígono con interpolate linear-closed.
- Funnel: atrición de un pipeline de datosEmbudo construido con barras centradas: calculate deriva -volume/2 y +volume/2 en x/x2, y una capa text muestra los volúmenes en el centro de cada nivel.
- Drawdown submarino: profundidad bajo el máximoLa clásica curva underwater del trading: un área roja en degradado muestra la distancia al máximo de equity, con regla punteada y etiqueta ancladas en el drawdown máximo.
- Curva de equity y high-water markLa línea cian sigue el equity de la cuenta; la línea gris en escalera traza el máximo histórico calculado con una window max acumulada — la diferencia entre ambas se ve de un vistazo.
- Win rate móvil sobre 20 tradesUna window mean convierte la serie binaria ganado/perdido en un win rate móvil: la curva solo arranca cuando la ventana está completa (filter) y se compara con la regla del 50%.
- MAE vs MFE: calidad de ejecución de los tradesCada punto compara la excursión adversa máxima (MAE) con la excursión favorable máxima (MFE) de un trade, coloreado según el resultado — un MFE alto en los perdedores delata salidas mal colocadas.
- Waffle 5 × 8: distribución de los resultados de los tradesCuarenta cuadrados, uno por trade: los transforms calculate (módulo y división entera) construyen la cuadrícula, y el color semántico cuenta ganadores, perdedores y break-even.
- Burn rate de SLO: ventanas de 1 h y 6 hLas dos ventanas del multi-window burn rate alerting (SRE workbook) en un mismo gráfico, cada una comparada con su umbral crítico mediante reglas punteadas etiquetadas.