2016-04-19 194 views
1

我目前正在努力改變我製作的barplot的默認顏色。由於我使用了aes(fill="")參數的值,所以添加scale_colour_xscale_fill_x不起作用。我會爲您提供我擁有的代碼,並希望您能找到解決我的問題的簡單方法。更改ggplot2中躲避的barplot的顏色

set.seed(123) 
platelay <- data.frame(rown = rep(letters[1:8], 4), 
         coln = rep(1:4,each = 8), 
         colorvar = rnorm(32, 0.3, 0.2)) 

的示例數據(應該是一個96 microwellplate用每孔不同的熒光讀數的一部分)

ggplot(platelay,aes(x=rown,y=colorvar,fill=coln)) + 
geom_bar(position="dodge",stat="identity") 

rown和我的曲線應該給5巴(每個coln)希望它們具有可以輕鬆區分每個小節的顏色。

這是它看起來像現在: dodged barplot

正如你所看到的顏色混合和規模不僅是不同的值1到4,但也減半顯示。 因爲我對R或編碼根本不熟悉(上週纔開始學習它),我將不勝感激。

回答

2

您正在獲取該顏色,因爲您的填充變量coln不是因子。只需將其轉換爲因子,然後使用scale_fill_manual()手動添加所需的顏色即可。您可以提供顏色名稱,也可以給出所需顏色的十六進制代碼。

ggplot(platelay,aes(x=rown,y=colorvar, fill = as.factor(coln)))+ 
geom_bar(position="dodge",stat="identity") + 
scale_fill_manual(values = c("blue", "#e50000", "#cc0000","green")) 
+0

謝謝!這有點更好,但不是我想要的。我想自定義每個欄的顏色。所以例如左邊是藍色,中間是紅色,右邊是綠色。 –

+0

我已經更新了答案。檢查這是否有用 – navinkb

+0

正是我想要的。非常感謝。雖然我不知道爲什麼當我第一次嘗試它時沒有。 NVM! –