plotly r sankey add_trace

plotly r sankey add_trace

我正在阅读文档 https://plotly.com/r/reference/sankey/,并且想更改桑基图的链接颜色。但是我不太明白 add_trace() 函数

中的参数

我应该在哪里指定颜色值?

add_trace(p,type='sankey', color=????)

您没有提供可重现的最小示例,因此我无法直接进入您的代码。但我想我可以为您指明正确的方向。

在您截图的文档中,它说颜色参数是列表 link 的一个键,它在图中定义了 links。使用 R plotly documentation for adding links 中的这个示例,让我们看一下它的去向:

library(plotly)
library(rjson)

json_file <- "https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json"
json_data <- fromJSON(paste(readLines(json_file), collapse=""))

fig <- plot_ly(
  type = "sankey",
  domain = list(
    x =  c(0,1),
    y =  c(0,1)
  ),
  orientation = "h",
  valueformat = ".0f",
  valuesuffix = "TWh",
  
  node = list(
    label = json_data$data[[1]]$node$label,
    color = json_data$data[[1]]$node$color,
    pad = 15,
    thickness = 15,
    line = list(
      color = "black",
      width = 0.5
    )
  ),
  
  link = list(
    source = json_data$data[[1]]$link$source,
    target = json_data$data[[1]]$link$target,
    value =  json_data$data[[1]]$link$value,
    label =  json_data$data[[1]]$link$label,

#### Color goes here! ####
    color = "yellow"
  )
) 
fig <- fig %>% layout(
  title = "Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>",
  font = list(
    size = 10
  ),
  xaxis = list(showgrid = F, zeroline = F),
  yaxis = list(showgrid = F, zeroline = F)
)

fig

plotly 文档有时可能有点不透明。我发现有时查看 python 的文档很有帮助。例如,this part of the python documentation 确实提供了一些关于更改 link 颜色的更多指导。