Я бы хотел создать сюжет Санки с заговором. Мои данные структурированы таким образом, что поток идет слева направо от самого участка. Каждый поток имеет одно и то же значение.
Проблема в том, что в настоящее время я не могу переставить все потоки на графике так, чтобы каждое звено между узлами было связано с его предыдущими или следующими узлами. Это делает поток не непрерывным, поскольку поток иногда «прерывается» и снова становится непрерывным в другой позиции.
Я хотел бы иметь график, на котором каждый поток, от его первого узла до его последнего узла, выровнентак что вы можете легко следовать этому потоку.
Я уже пытался переставить узлы вручную. Это привело к улучшению, но не решило проблему полностью.
Это минимальный пример моего кода
library(plotly)
p <-plot_ly(
type='sankey',
alpha = 0.1,
node = list(
pad = 15,
thickness = 20,
line = list(
color = "black",
width = 0.5
),
label = c("A1", "A2", "B1", "C1","D3" ,"D2", "D1"),
color = 'rgba(255,255,255,0.8)'
),
link = list(
source = c(0,1,0,2,2,2,3,3,3),
target = c(2,2,2,3,3,3,4,5,6),
value = c(8,4,1,1,8,4,1,4,8),
color = c('rgba(189,10,10,0.3)','rgba(0,0,0,0.3)', 'rgba(3,189,5,0.3)',
'rgba(3,189,5,0.3)','rgba(189,10,10,0.3)', 'rgba(0,0,0,0.3)',
'rgba(3,189,5,0.3)', 'rgba(0,0,0,0.3)', 'rgba(189,10,10,0.3)'
)
)
)
p
Этот код создает этот график: sankey_plot
Когда я переставляю узел вручную, я получаю это: sankey_plot_rearranged
Это близко к тому, что я хочу, но есть возможность в заговоре добиться этого без перестановки узлавручную? Может быть, есть еще один программный подход, которым любой может поделиться?
Спасибо!