2016-09-29 171 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

謝謝你終於開始工作了! –