如何在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
相关产品推荐
相关产品推荐

