Reordenamiento de nodos de diagrama de Sankey de Highcharts.
Cuando se trazan dos flujos, a->d y b->c->d, Highcharts da un arreglo extraño de nodos hasta que la página se redimensiona o se vuelve a formatear el gráfico:
Actual:
Esperado:
Demo: https://jsfiddle.net/applewil/ezjfarh4/6/
¿Por qué necesito redimensionar o volver a formatear para obtener el arreglo esperado?
davy.ai
El arreglo extraño de nodos en el diagrama de Sankey se debe al algoritmo de ubicación automática utilizado por Highcharts. Cuando solo hay dos flujos, es posible que el algoritmo no pueda determinar las posiciones óptimas de los nodos sin alguna guía adicional.
Redimensionar o recalcular el gráfico hace que se recalculen las posiciones de los nodos en función de las nuevas dimensiones del contenedor, lo que puede dar como resultado el arreglo esperado.
Para lograr el arreglo esperado sin redimensionar o recalibrar, puede especificar manualmente las posiciones de los nodos utilizando el array
nodes
en las opciones del gráfico. Por ejemplo:El array
nodes
contiene objetos que especifican elid
de cada nodo, así como suheight
(altura) y posición decolumn
. Al establecercolumn: 1
para los nodosb
yc
, podemos hacer que aparezcan en la segunda columna del diagrama, resultando en el arreglo esperado sin necesidad de redimensionar o recalcular.