Gostaria de criar um sankey
diagrama no Plotly R. Neste gráfico, gostaria de mostrar o fluxo de renda para o fluxo de resultados com uma barra de orçamento no meio, como mostrado na resposta aqui . Infelizmente, isso não é feito no Plotly. Tentei criar este gráfico, mas não entendo a estrutura de source
e target
no pacote plotly. Aqui, crio um exemplo reproduzível:
library(plotly)
df <- data.frame(
label = c("Income1", "Income2", "Income2", "Budget", "Outcome1", "Outcome1", "Outcome2"),
color = c("green", "green", "green", "blue", "red", "red", "red"),
source = c(1,2,2,0,3,3,4),
target = c(0,0,0,0,0,0,0),
value = c(8,4,2,0,8,4,2)
)
df
fig <- plot_ly(
type = "sankey",
orientation = "h",
node = list(
label = df$label,
color = df$color,
pad = 15,
thickness = 20,
line = list(
color = "black",
width = 0.5
)
),
link = list(
source = df$source,
target = df$target,
value = df$value
)
)
fig
Saída:
Isso não cria minha saída esperada. Eu gostaria de ter os fluxos de renda à esquerda, o orçamento no meio e o resultado à direita. Então, eu queria saber se alguém sabe como fazer isso no Plotly R?
Você pode definir seus nós
label
contando a partir de 0. Em seguida, defina seus fluxos em uma tabela separada: aqui, referencie a origem e o destino dos rótulos usando o índice do nó.