2016-09-29 169 views
1

我有一个分组条形图,我试图自定义每个变量或列的颜色。第一次,我能够做到这一点,但如果我厌倦了第二个第三个酒吧的话。自定义颜色条形图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 

而且是有办法创建两个集团之间更多的空间? 谢谢

+0

我没有''plotly' for'R',所以感谢间接提示!我打算摆弄这个问题,但你使用的数据集并不清楚。如果是本地的,请发布一个可重复的示例,以便其他人可以尝试协助。也许使用'mtcars'例如?另外,我觉得可以发布你所得到的和你想要的。你的问题是关于颜色问题,但最终你会问“更多空间”。更多区别颜色?更多的距离分离?有视觉帮助是有帮助的。 – Hendy

+0

谢谢,我用数据集更新了问题。酒吧将是当前支出和优化支出,我希望每列都有自己的自定义颜色。我能够用第一个酒吧做到这一点,但不幸的是,我无法获得第二个酒吧的成功。 –

+0

1)我添加了一个'dput()'版本(比在你的表格视图中手动输入更容易)和2)我只是在我运行上面的时候得到一对蓝色条。我应该看到不同的东西吗? – Hendy

回答

0

我想我会继续并添加一个答案。我第一次只使用plotly,所以我不确定你的代码是如何工作的。也就是说,如果我正确地理解了这个问题,您需要基于它是否为Optimized.spendCurrent.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()查看您创建了哪些变量或再次检查其他内容。

如果这不是你试图达到什么,随时评论/澄清。这可以追溯到我在评论中提出的建议,即可复制的例子和视觉效果比语言更响亮:例如,在您选择的编辑器中截取您所得到的内容并用标签或手绘更正标记它。

+0

谢谢你终于开始工作了! –