You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R的plot_ly为旭日图(sunburst)自定义分段颜色?

解决Plotly旭日图自定义分段颜色问题

在Plotly的旭日图(sunburst)中,直接使用colors参数是用于指定颜色比例尺,而非直接为每个分段分配自定义颜色。要实现每个分段对应指定颜色,需要通过marker参数传递颜色列表。

修改后的完整代码

library(plotly)
tab <- data.frame(
  labels = c("Total", "Planerlöse", "Abgeltung", "Bund", "Kanton Thurgau", "Kanton Thurgau Netto", "Gemeinden"),
  parents = c("", "Total", "Total", "Abgeltung", "Abgeltung", "Kanton Thurgau", "Kanton Thurgau"),
  values = c(100, 46, 54, 23.76, 30.24, 20.26, 9.97),
  colors = c("#f28f1c", "#fef4e8", "#2771b0", "#e9f1f7",
             "#b5b5b5", "#787878", "#333333")
)

fig <- plot_ly(tab, 
               labels = ~labels, 
               parents = ~parents, 
               values = ~values, 
               type = 'sunburst', 
               branchvalues = 'total',
               marker = list(colors = ~colors)  # 关键修改:通过marker传递自定义颜色
)

fig

修改说明

  1. 移除了数据框中多余的type和branchvalues列(这两个属于Plotly绘图参数,无需放在数据框内)
  2. 将原代码中的colors=colors替换为marker=list(colors=~colors),让Plotly直接读取数据框colors列的颜色值,为每个分段匹配指定颜色

内容的提问来源于stack exchange,提问作者user11841097

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:00:04