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

如何在R语言中修改Plotly堆叠面积图的颜色?

自定义Plotly堆叠区域图颜色的解决方案

要修改堆叠区域的颜色,你可以通过以下两种方式手动指定配色:

方法1:直接用colors参数指定颜色向量

注意颜色顺序要和pretty_Variable的因子水平顺序完全对应,示例如下:

# 定义对应每个类别的颜色(顺序匹配pretty_Variable的levels)
custom_colors <- c("#FF6B6B", "#4ECDC4", "#45B7D1", "#96CEB4", "#FFEAA7", "#DDA0DD")

p <- plot_ly(x = as.Date(df_long$Date), 
             y = df_long$Value, 
             color = df_long$pretty_Variable, 
             fill = "tonexty",
             type = "scatter", 
             mode = "stack", 
             stackgroup = "one",
             colors = custom_colors) %>%  # 添加colors参数指定配色
  layout(xaxis = list(title = "Date"),
         yaxis = list(title = "Percentage (%)", ticksuffix = "%"),
         hovermode = "x")
p

方法2:用color_discrete_map映射类别到颜色

这种方式无需严格对应顺序,直接通过类别名称指定颜色,更灵活:

p <- plot_ly(x = as.Date(df_long$Date), 
             y = df_long$Value, 
             color = df_long$pretty_Variable, 
             fill = "tonexty",
             type = "scatter", 
             mode = "stack", 
             stackgroup = "one",
             color_discrete_map = list(
               "Collateral bb amount" = "#FF6B6B",
               "Net collateral balance" = "#4ECDC4",
               "Eligible collateral balance" = "#45B7D1",
               "Adjusted collateral balance" = "#96CEB4",
               "Total collateral balance" = "#FFEAA7",
               "Raw collateral balance" = "#DDA0DD"
             )) %>%  # 添加颜色映射规则
  layout(xaxis = list(title = "Date"),
         yaxis = list(title = "Percentage (%)", ticksuffix = "%"),
         hovermode = "x")
p

你可以根据需求替换示例中的十六进制颜色码,调整成自己需要的配色。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:53:18