2016-11-24 127 views
-1

我有我從中按照版本分組的方塊圖的速率數據。我想通過設備爲每個框着色。我還有另一個data2,其中包含我想要爲每個version顯示的數字。但是,似乎我的geom_box與它有衝突。 它顯示我一個錯誤: 錯誤的eval(expr中,ENVIR,enclos):對象 '設備' 未找到ggplot:用顏色填充方塊圖

p <- ggplot(data1, aes(factor(version),rates,fill=device)) 
    p + geom_boxplot() + geom_text(data = data2, aes(x = version, y = 0, label = count)) 

DATA1:

    rates     version      device 
1      0.56   Windows/desktop/Chrome    desktop 
2      0.13   iOS/mobile/Safari mobile    mobile 
3      0.15   iOS/tablet/Safari mobile    tablet 
4      0.65   Windows/desktop/Firefox    desktop 
5      0.17    OS X/desktop/Safari    desktop 
6      0.83   Windows/desktop/Chrome    desktop 
7      0.39   Windows/desktop/Firefox    desktop 
8      0.63   Windows/desktop/Chrome    desktop 
9      0.61 Windows/desktop/Internet Explorer    desktop 
10     0.00   Windows/desktop/Chrome    desktop 

DATA2:

        version count 
21188   iOS/mobile/Safari mobile 37545 
105488   Windows/desktop/Firefox 28030 
82478    Windows/desktop/Chrome 23936 

回答

0

這應該工作:

ggplot(data1, aes(factor(version),rates)) + 
    geom_boxplot(aes(fill=device) + 
    geom_text(data = data2, aes(x = version, y = 0, label = count)) 

它試圖找到data2中的fill變量,但它不存在。

0

試試這個:

data <- merge(data1, data2, by='version', all=TRUE) 
p <- ggplot(data, aes(version,rates,fill=device)) 
p + geom_boxplot() + geom_text(aes(x = version, y = 0, label = count)) 

與輸出:

enter image description here