阴谋森伯斯特着色

Plotly sunburst coloring

我正在尝试按父项为 着色,然后按级别着色,以便 parent1 和 parent2 为红色和蓝色,然后它们按级别向外渐变。

我似乎很接近使用 sunburstcolorway 的布局,但它并没有完全按级别着色。目前我的色系输入是为每个观察指定的十六进制代码列表。

如果有一种方法可以为每个单独的部分指定颜色,那将是理想的。我似乎无法弄清楚,我对此很陌生

library(plotly)
clin2 <- data.frame(
  stringsAsFactors = FALSE,
  ids = c("MGH","CU","MGH - WT",
          "CU - WT","MGH - KDM","CU - KDM","MGH - G2032R",
          "MGH - S1986F","MGH - D2033N","CU - L1951R/L2026M"),
  labels = c("Gainor<br>et al. 2017",
             "McCoach<br>et al. 2018","ROS1<br>Extrinsic",
             "ROS1<br>Extrinsic","ROS1<br>Intrinsic","ROS<br>Intrinsic","G2032R",
             "S1986F","D2033N","L1951R/<br>L2026M"),
  parents = c(NA,NA,"MGH","CU","MGH",
              "CU","MGH - KDM","MGH - KDM","MGH - KDM","CU - KDM"),
  values = c(17L, 12L, 8L, 11L, 9L, 1L, 7L, 1L, 1L, 1L),
  colors = c("#3182bd", "#e6550d", "#9ecae1", "#fdae6b", "#9ecae1",
             "#fdae6b", "#deebf7", "#deebf7", "#deebf7", "#fee6ce")
)

clin2_plot <- plot_ly(clin2, ids = ~ids, labels = ~labels, parents = ~parents, 
                      values = ~values, type = 'sunburst', branchvalues = 'total'
) %>% layout(sunburstcolorway = clin2$colors)

clin2_plot

提前致谢。

我编辑了您的代码以使其可重现。对我来说,它似乎工作正常。我添加了黑色痕迹 - 请检查以下内容:

library(plotly)

clin2 <- data.frame(
  stringsAsFactors = FALSE,
  ids = c("MGH","CU","MGH - WT",
          "CU - WT","MGH - KDM","CU - KDM","MGH - G2032R",
          "MGH - S1986F","MGH - D2033N","CU - L1951R/L2026M"),
  labels = c("Gainor<br>et al. 2017",
             "McCoach<br>et al. 2018","ROS1<br>Extrinsic",
             "ROS1<br>Extrinsic","ROS1<br>Intrinsic","ROS<br>Intrinsic","G2032R",
             "S1986F","D2033N","L1951R/<br>L2026M"),
  parents = c(NA,NA,"MGH","CU","MGH",
              "CU","MGH - KDM","MGH - KDM","MGH - KDM","CU - KDM"),
  values = c(17L, 12L, 8L, 11L, 9L, 1L, 7L, 1L, 1L, 1L),
  colors = c("#111111", "#e6550d", "#9ecae1", "#fdae6b", "#9ecae1",
             "#fdae6b", "#deebf7", "#deebf7", "#deebf7", "#fee6ce")
)

clin2_plot <- plot_ly(clin2, ids = ~ids, labels = ~labels, parents = ~parents, 
                      values = ~values, type = 'sunburst', branchvalues = 'total'
) %>% layout(sunburstcolorway = ~colors)

clin2_plot