自定义颜色条形图 Plotly - R

Custom Colors Bar Graph Plotly - R

我有一个分组条形图,我正在尝试为每个变量或列自定义颜色。我第一次能够做到这一点,但如果我厌倦了第二个,第三个酒吧就会出现。

解决这个问题的最佳方法是什么? 我的代码如下:

SpendOpt <- plot_ly(
  x= TV_Attribute_Solver$Channel,
  y= TV_Attribute_Solver$Current.spend,
  name="Current  Spend",
  type = "bar",
  marker = list(color = "#33aFFF"))


SpendOpt <- add_trace(
  SpendOpt, 
  x=TV_Attribute_Solver$Channel,
  y=TV_Attribute_Solver$Optimized.Spend,
  name = "Optimized Spend",
  type = "bar"
)

数据将是:

> dput(data)

structure(list(Channel = c("13th Street", "7 TWO Sydney", "7MATE Sydney", 
"Arena", "ATN-7 Sydney", "BBC Knowledge"), Current.spend = c(2782L, 
2075L, 990L, 1194L, 32534L, 356L), Optimized.Spend = c(3060.2, 
2282.5, 891, 1313.4, 33410.127, 391.344)), .Names = c("Channel", 
"Current.spend", "Optimized.Spend"), class = "data.frame", row.names = c(NA, 
-6L))

> data
        Channel Current.spend Optimized.Spend 
1   13th Street          2782        3060.200  
2  7 TWO Sydney          2075        2282.500   
3  7MATE Sydney           990         891.000  
4         Arena          1194        1313.400   
5  ATN-7 Sydney         32534       33410.127   
6 BBC Knowledge           356         391.344 

还有没有办法在两个分组之间创建更多 space? 谢谢

我想我会继续并添加一个答案。我只是第一次使用 plotly,所以我不太确定你的代码是如何工作的。就是说,如果我正确理解了这个问题,您需要基于它是 Optimized.spend 还是 Current.spend 的颜色。我只是将你上面所做的扩展到第二部分,我得到了这个:

SpendOpt <- plot_ly(
   x= data$Channel,
   y= data$Current.spend,
   name="Current  Spend",
   type = "bar",
   marker = list(color = "#33aFFF")
)


SpendOpt <- add_trace(
   SpendOpt, 
   x=data$Channel,
   y=data$Optimized.Spend,
   name = "Optimized Spend",
   type = "bar",
   marker = list(color = "#afafaf")
)

SpendOpt

我明白了:

如果这是您所期望的,那么您的设置可能存在其他问题。我没有看到提到的 "third bar." 您可能想尝试 ls() 查看您创建的变量或仔细检查其他内容。

如果这不是您想要实现的目标,请随时comment/clarify。这可以追溯到我在评论中的建议,即可重现的示例和视觉效果胜于雄辩:例如,截取您获得的内容的屏幕截图,并在您选择的编辑器中用标签或手绘更正进行标记。