edelvives-graficos
v0.9.2
Published
Sistema de gráficos y métricas de Edelvives para web. La IA escribe una especificación JSON y el kit dibuja el gráfico.
Maintainers
Readme
Kit de gráficos Edelvives v0.9 (modo web)
Para ver los gráficos, abre con doble clic vista-previa.html (los 156 componentes, agrupados por familia) o demo-dashboard-comercial.html (el dashboard de la primera prueba, con el kit v0.1 incrustado). Se abren en el navegador y necesitan conexión a internet.
Contenido:
dist/edelvives-graficos.js: el script que dibuja (tokens, validador, renderizador, iconos de Material Symbols con licencia Apache 2.0). Carga ECharts 6.1.0 y Titillium Web por su cuenta.dist/mapas/: los contornos de España por comunidades y por provincias (TopoJSON, en.js, que es lo que carga el kit, y en.json). Obra derivada de BDLJE CC-BY 4.0 ign.es (Límites municipales, provinciales y autonómicos del IGN, fichero del 28/07/2026; licencia de la Orden FOM/2807/2015, compatible con CC-BY 4.0). Se cargan solo al dibujar un mapa.DESIGN.md: la guía que lee la IA. Es un índice corto: tabla de selección, reglas comunes y carga.referencias/: una referencia por familia con el formato, los límites y ejemplos de cada componente. La IA solo lee la que necesita.esquema.json: el formato de la especificación (JSON Schema).tokens.json: colores, tipografía, estados y contraste en formato W3C DTCG, con CMYK aproximado.ejemplos/: una especificación válida por componente.datos/: CSV ficticios para la prueba del dashboard comercial.herramientas/generar.py: regeneraesquema.jsonyvista-previa.html.herramientas/mapas.py: preparadist/mapas/a partir de los shapefiles de la BDDAE (necesita mapshaper). No se publican en npm.
Novedades de la 0.9.2
Salen de la prueba del dashboard Actividad Comercial (campaña Curso 2026), hecha con la 0.9.1.
- Sankey: cada nodo final se dibuja en la columna siguiente a su origen, no en la última (antes sus cintas cruzaban columnas que no les correspondían). La variante
aluvialtambién fija la alineación a la izquierda en ECharts; se dibuja igual. - Sankey: con 3 niveles o más, si ningún nodo recibe enlaces de más de un origen, el validador avisa de que los datos son un total desglosado en niveles y propone
particion · icicleotabla · jerarquica. Es aviso, no error: el gráfico se dibuja. referencias/flujo.mdexplica cuándo no usar el sankey, yreferencias/jerarquia.mdremite al icicle para los desgloses que venían pensados como sankey.- KPI y
progreso·ritmo: los rótulos de las barras de escala (objetivo, benchmark, previsión, esperado hoy) ya no se salen de la tarjeta cuando su marca está cerca de un extremo ni se pisan entre sí; se recolocan al cambiar el tamaño y cuando carga la fuente. - El resto de especificaciones de la 0.9.1 se dibujan igual.
Novedades de la 0.9.1
- Atribución de los mapas conforme a la licencia del IGN: la nota de cada mapa dice «Contornos: obra derivada de BDLJE CC-BY 4.0 ign.es.», con «ign.es» enlazado a https://www.ign.es/. Los metadatos de
dist/mapas/llevan la misma mención y el linaje del conjunto derivado. - Ningún otro cambio: las especificaciones de la 0.9.0 se dibujan igual (solo cambia el texto de la nota de los mapas). La 0.9.0 queda desaconsejada en npm.
Novedades de la 0.9.0
- Familia Geografía completa, con la referencia nueva
referencias/geografia.md. Con ella están los 157 componentes del archivo de Figma.mapa·coropletas(5 clases de igual amplitud con cortes redondos, oumbrales),con-ranking(mapa y ranking con los mismos colores),burbujasysimbolos(área proporcional, con leyenda de tamaños),categorias(paleta de series),puntos(conlat/lono por densidad conporPunto),rejillayhexagonos(el kit cuenta los casos en celdas deceldakm),flujos,rutayconexiones.cartograma·fichas: una ficha igual por comunidad.
mapa: 'comunidades'o'provincias'(si no se indica, el kit lo deduce de los nombres). Admite nombres habituales y oficiales («Comunidad Valenciana», «Alacant/Alicante», «Vizcaya»…) y el código INE; un lugar puede ser una zona (se sitúa en su capital) o{ nombre, lat, lon }.- «Sin dato» con trama (nunca blanco); el kit avisa si una coropleta usa totales en vez de tasas o si faltan zonas. La nota de cada mapa cita «© Instituto Geográfico Nacional (CC BY 4.0)».
- Los contornos están fuera del script (
dist/mapas/) y se cargan como script solo al dibujar un mapa, desde la misma URL de jsDelivr; en servidores internos,EG.configurar({ mapas: 'https://…/mapas/' }). - Las especificaciones de la 0.8.1 siguen siendo válidas y se dibujan igual.
Novedades de la 0.8.1
- Familia Flujo y relaciones completa, con la referencia nueva
referencias/flujo.md. Casi todos los tipos usandatos.enlaces({ origen, destino, valor }); los nodos se deducen de los enlaces ydatos.nodos(opcional) fija el orden, elgrupoo laduracion. El kit rechaza los enlaces repetidos o a sí mismos y, donde el flujo va de izquierda a derecha, los ciclos (y dice cuál es).sankey·sankey(un único camino destacado, por defecto el del mayor origen),aluvial(momentos, 2-3 categorías y una matriz de cambios por paso; el kit comprueba que cuadran) yrecorrido(pasos con los que llegan a cada uno y salidas hacia abajo).cuerdas: intercambio entre pares de grupos, con las cintas del grupo destacado en naranja.flujo·flechas: entidades en columnas y flechas con grosor proporcional al valor.red·comunidades(el kit calcula las comunidades por modularidad si no se dan),bipartita,radial(relaciones rotuladas alrededor de una entidad central) ydependencias(ruta crítica por duración o por número de tareas, o fijada conruta).
redno llevaunidad(endependencias, launidades la de la duración).- Las especificaciones de la 0.8.0 siguen siendo válidas y se dibujan igual.
Novedades de la 0.8.0
- Familia Jerarquía completa, con la referencia nueva
referencias/jerarquia.md. Todos los tipos aceptan el árbol anidado{ nombre, valor, hijos }o filas planas con un nombre por nivel y el valor al final (lo más corto si se parte de un CSV); los valores van en los elementos finales y el kit suma hacia arriba. Un nombre repetido en ramas distintas se identifica por su ruta ("Área B / Equipo 3").treemapgana la variantejerarquico: cada grupo con su cabecera y su familia de tonos (el destacado en naranja, el resto en neutros).particion·sunburst(hasta 3 anillos, con el total en el centro) eicicle(el total arriba y una franja por nivel).circulos-anidados: círculos empaquetados sin solapamiento, con el área proporcional al valor.arbol·ramas(raíz a la izquierda),organigrama(cajas con conectores ortogonales; si no cabe, apila el último nivel bajo su responsable) ydendrograma(el kit agrupa a partir de los datos en bruto, por enlace medio, o acepta el árbol con la altura de cada unión; corta en el mayor salto o en losgrupospedidos).anidados·contenedores: categorías, subcategorías y elementos en HTML.tablagana la variantejerarquica: lista indentada con una barra por fila y los totales plegables.
arbolyanidadosno llevanunidad.- Las especificaciones de la 0.7.1 siguen siendo válidas y se dibujan igual.
Novedades de la 0.7.1
- Familia Temporal especializado completa, con la referencia nueva
referencias/temporal.md. Las fechas van en ISO ("2026-04-20"o"2026-04") yhoydibuja la línea «Hoy» (una fecha otrue, el día en que se abre la página). Cinco tipos nuevos:cronologia·hitos(eje continuo con los hitos alternados arriba y abajo; sindestacar, se destaca el próximo a «hoy»),carriles(un carril por tipo de evento, con eventos puntuales o con duración) yvertical(los hitos cumplidos, el que está en curso y los pendientes).gantt: lo previsto y lo realizado (avance) de cada tarea, los hitos y la línea de «Hoy».calendario·calor(un año como máximo, con 5 clases y el total o la media al pie) ymes(hoy, eventos, festivos y fines de semana).dos-periodos·superpuestos(los dos periodos alineados por posición, con el total o la media de cada uno y la variación; admite un periodo actual sin terminar) einteranual(columnas de los dos años con la variación debajo).ciclo-vida·fases: curva orientativa con la fase actual y el elemento marcado.
matrizgana la variantecohortes: el kit calcula el % sobre el primer periodo de cada cohorte si se le pasan recuentos.- El tipo de la comparación entre periodos se llama
dos-periodos(noperiodos) para no confundirlo condatos.periodos. - Las especificaciones de la 0.7.0 siguen siendo válidas y se dibujan igual.
Novedades de la 0.7.0
- Familia Procesos y conversión completa, con la referencia nueva
referencias/procesos.md. Tres tipos nuevos:embudo·embudo(trapecios con el valor de cada etapa),conversion(la tasa sobre la etapa anterior y la conversión global) yretencion(columnas al 100 % con la caída entre hitos en puntos; acepta recuentos o %). El validador rechaza una etapa que supere a la anterior.etapas·pipeline(una columna por etapa con una tarjeta por caso y, si se quiere, su importe),proceso(pasos con su estado y decisiones en rombo con su alternativa) yprogresion(la etapa actual y el % de avance, que cuenta las etapas completadas). No llevaunidad, salvo el pipeline con importes.recorrido·experiencia: la curva de la experiencia sobre las etapas, con la escala declarada (minimoymaximo) y los puntos de contacto.
- Las especificaciones de la 0.6.1 siguen siendo válidas y se dibujan igual.
Novedades de la 0.6.1
- Familia Relación y correlación completa, con la referencia nueva
referencias/relacion.md. Cuatro tipos nuevos:dispersion·simple,tendencia(recta de mínimos cuadrados y R²),burbujas,burbujas-categoria,cuadrantes,conectada(los puntos unidos en orden cronológico) yhexagonos(para cientos o miles de casos). Cada eje lleva su nombre y su unidad enejes.matriz·correlacion-colorycorrelacion-valores: el kit calcula el coeficiente de Pearson a partir de los valores en bruto o acepta los coeficientes ya calculados. La variantecohortesllega con la familia Temporal especializado.radar·perfilydos-perfiles.coordenadas-paralelas: un eje por variable con la misma escala y un caso destacado.
- Las especificaciones de la 0.6.0 siguen siendo válidas y se dibujan igual.
Novedades de la 0.6.0
- Familia Distribución completa, con la referencia nueva
referencias/distribucion.md. Seis tipos nuevos:histograma: el kit calcula los intervalos a partir de los valores en bruto (o acepta los recuentos ya hechos) y marca la mediana o la media.cajas·cajayviolin: cuartiles, bigotes hasta 1,5 veces el rango intercuartílico y atípicos, explicados en la nota y junto al último grupo. La caja admite el resumen ya calculado.casos·apilados(dot plot),dispersos(strip plot) yenjambre(beeswarm): un punto por caso.distribucion·densidad,normal(curva teórica con ±1 desviación) yacumulada(con la mediana y un percentil clave).percentiles: la posición de cada elemento en su grupo; el kit calcula el percentil si se le pasan los valores del grupo.rangos·rango,min-maxeintervalo(con el nivel de confianza obligatorio).
- Campo nuevo
nombreCasos(qué es cada caso, en plural): el subtítulo muestra la unidad y el número de casos. - Las especificaciones de la 0.5.1 siguen siendo válidas y se dibujan igual.
Novedades de la 0.5.1
- Familia Variación completa, con la referencia nueva
referencias/variacion.md:- Tipos nuevos
cascada(vertical y horizontal) ydescomposicion(tendencia, estacionalidad y, opcionalmente, residuo; el kit la calcula a partir decicloo acepta los componentes ya calculados). barras-divergentesganadesviacion(en barras concategoriaso en columnas conperiodos),desviacion-pctycontribucion.barrasganavs-anterioryvs-prevision, ycon-referenciaadmitecumplimiento: true(barras horizontales con el % del objetivo alcanzado).dos-momentosganaantes-despues.
- Tipos nuevos
- El validador comprueba que la cascada y la contribución cuadran con el total que se declare.
- Las especificaciones de la 0.5.0 siguen siendo válidas y se dibujan igual.
Novedades de la 0.5.0
- Familia Composición completa: tipo
sectores(donut, pie y semidonut),treemap(plano),proporcion(barra parte-todo, cuota, participación y waffle) ymarimekko. donutpasa a sersectoresconvariante: 'donut'. El nombre antiguo sigue funcionando como alias durante toda la serie 0.x y se dibuja igual.- Las partes que no caben se agrupan solas en «Otros» (Neutro 300), y una categoría llamada «Otros», «Otras…» o «Resto» se pinta también en Neutro 300 y al final.
Novedades de la 0.4.0
- Patrones de KPI completos en un único tipo
kpicon bloques: el valor, un bloque de comparación (variación, tendencia, objetivo, anterior, previsión, estado, ranking, comparado o benchmark), un bloque visual (serie, barras, desglose, componentes, secundarios o progreso) y el contexto. Incluye selector de periodo y la rejilla de KPI (kpi-rejilla). - Familia Objetivos y cumplimiento: tipo
progreso(barras, anillo, medidor, ritmo y distancia),tabla·scorecardysemaforo,barras-divergentes·desviacion-objetivoy los estados frente al objetivo (en objetivo, en riesgo, fuera). kpi-simple,kpi-variacion,kpi-objetivo,kpi-sparkline,kpi-contextoybarras-progresosiguen funcionando como alias y se dibujan igual.
Novedades de la 0.3.0
- Familia Evolución y tendencias completa:
lineasgana 11 variantes (simple, múltiples, escalonada, tendencia, acumulada, media móvil, referencia, objetivo, previsión con banda, real frente a previsión y frente al año anterior) y llegan los tiposareas(4 variantes) ysparkline. lineasrotula el último valor en las variantes que lo piden y, desde la 3.ª serie, usa trazo discontinuo con marcadores. Las especificaciones de la 0.2 siguen siendo válidas.tablaadmite columnas de tiposparkline.
Novedades de la 0.2.0
- Familia Comparación completa: tipos
barras(6 variantes),barras-divergentes,puntos,dos-momentos,bullet,rankingytabla. - Motor ECharts 6.1.0 (antes 5.6.0). Los 9 componentes de la 0.1 se dibujan igual.
barras-agrupadaspasa a serbarrasconvariante: 'agrupadas'. El nombre antiguo sigue funcionando como alias durante toda la serie 0.x.- La guía se divide en
DESIGN.md(índice) yreferencias/(una por familia) para que la IA consuma menos.
Prueba con una IA
- Abre una conversación nueva, sin contexto previo.
- Adjunta
DESIGN.md, la referencia de la familia que vayas a probar (por ejemploreferencias/comparacion.md) y los CSV dedatos/. El script se carga desde la URL pública. - Pide, por ejemplo: «Crea una aplicación web con un dashboard comercial a partir de estos CSV. Usa el sistema de gráficos descrito en DESIGN.md.»
URL pública
https://cdn.jsdelivr.net/npm/[email protected]/dist/edelvives-graficos.js
Las referencias también se sirven desde ahí: https://cdn.jsdelivr.net/npm/[email protected]/referencias/comparacion.md.
El kit se publica en npm (paquete edelvives-graficos) y jsDelivr lo sirve desde ahí. Es la misma URL para la skill de Claude (incluidos los artefactos publicados), los Gems de Gemini, los GPT de ChatGPT y los servidores de Edelvives.
Publicar una versión nueva
- Si has cambiado ejemplos o tipos, ejecuta
python3 herramientas/generar.py. - Sube los cambios al repositorio.
- Cambia
versionenpackage.jsony la versión de las URL deDESIGN.md. - Publica con
npm publishdesde la carpeta del repositorio. - Actualiza la skill de Claude: sustituye su guía por el contenido de
DESIGN.md(conservando la cabecera de la skill), copia la carpetareferencias/junto a ella y actualiza la copia dedist/edelvives-graficos.js. Los mapas se cargan desde jsDelivr (no hace falta copiardist/mapas/en la skill). - Si cambia la cartografía, descarga de nuevo
LINEAS_LIMITE.ZIP(«Límites municipales, provinciales y autonómicos») del Centro de Descargas del CNIG, pon su fecha enFUENTEdeherramientas/mapas.pyy ejecutapython3 herramientas/mapas.py <carpeta con SHP_ETRS89 y SHP_WGS84>.
Un número de versión publicado en npm no se puede reutilizar: cada cambio necesita una versión nueva.
