Files
fn_registry/cpp/functions/viz/sankey.h
T
egutierrez 64330944e1 feat(viz): sankey diagram — BFS topologico + bandas curvas (bezier cubico)
compute_levels asigna columnas via BFS, los nodos se apilan verticalmente
proporcional a max(in_total, out_total). Los links se renderizan como
bandas con bezier cubico, color del nodo origen + alpha bajo.

Asume DAG (sin ciclos). Si hay ciclos, los nodos del ciclo quedan en su
nivel parcial — no rompe pero puede solapar visualmente.
2026-04-25 21:52:37 +02:00

26 lines
582 B
C++

#pragma once
// Sankey diagram para flujos source -> target con magnitudes.
//
// Asume DAG (sin ciclos). Si hay ciclos, los nodos sin nivel quedan en la
// columna 0 — visualmente raro pero no rompe.
#include "imgui.h"
#include <string>
#include <vector>
struct SankeyNode {
std::string label;
};
struct SankeyLink {
int src;
int dst;
float value;
};
void sankey(const char* id,
const std::vector<SankeyNode>& nodes,
const std::vector<SankeyLink>& links,
ImVec2 size = ImVec2(-1.0f, 400.0f));