自定义颜色条形图Plotly - R.

时间:2016-09-29 16:59:37

标签: r graph colors plotly

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

最好的方法是什么? 我的代码如下:

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 

还有办法在两个分组之间创造更多空间吗? 谢谢

1 个答案:

答案 0 :(得分:0)

我想我会继续并添加一个答案。我有史以来第一次只使用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

我明白了:

enter image description here

如果这是您的预期,也许您的设置还会发生其他事情。我没有看到提到的“第三个酒吧”。您可能想尝试ls()来查看您创建的变量或仔细检查其他变量。

如果不是您想要实现的目标,请随时评论/澄清。这可以追溯到我在评论中的建议,即可重复的示例和视觉效果比单词更响亮:例如,在您选择的编辑器中截取您获得的内容并使用标签或手绘校正进行标记。