2017-10-04 59 views
0

我有這樣一個數據幀:如何在ggplot2中手動選擇具有重要意義的箱形圖的顏色?

 values TF group_num group 
1 0.22722942 FALSE   5  5 
2 -0.36530296 TRUE   3  3 
3 0.38795866 FALSE   4  4 
4 0.48439459 FALSE   4  4 
5 0.93879881 FALSE   4  4 
6 -0.03598468 TRUE   4  4 
7 -0.49993149 FALSE   4  4 
8 1.26200426 FALSE   5  5 
9 -0.02348821 TRUE   4  4 
10 -0.78135675 FALSE   4  4 
11 -0.00466411 FALSE   2  2 
12 -0.28493506 TRUE   3  3 
13 -1.41763529 TRUE   4  4 
14 2.03987995 FALSE   1  1 
15 -0.70235537 FALSE   3  3 
16 0.36176799 FALSE   2  2 
17 0.22171013 FALSE   5  5 
18 -0.56860951 FALSE   4  4 
19 -0.51199794 TRUE   4  4 
20 -0.92628365 FALSE   4  4 

group_num =數字
組=因素

所以,當我想創建一個箱線圖,顯示利用geom_signif我當錯誤的意義我用這個:

ggplot(test, aes(x = TF, y = values, fill=group_num)) + 
    geom_boxplot() + 
    stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T) + 
    facet_grid(~group_num) + 
    scale_fill_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48")) + 
    theme(panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     panel.background = element_blank(), 
     axis.line = element_line(colour = "black"), 
     strip.text.x = element_blank()) 

Error: Continuous value supplied to discrete scale

因爲我用group_num這是數字

然而,當我用組(因素),我得到這樣的輸出:

ggplot(test, aes(x = TF, y = values, fill=group)) + 
    geom_boxplot() + 
    stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T)+ 
scale_fill_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48"))+ 
      facet_grid(~group) + 
     scale_color_manual(values=c("firebrick2","darkorchid4","dodgerblue4","deepskyblue4","gray48")) + 
     theme(panel.grid.major = element_blank(), 
      panel.grid.minor = element_blank(), 
      panel.background = element_blank(), 
      axis.line = element_line(colour = "black"), 
      strip.text.x = element_blank()) 

enter image description here

不過,我想獲得顯著點所有組。要做到這一點,如果我使用group_num沒有選擇顏色它的作品。 和我得到的輸出是這樣的:

ggplot(test, aes(x = TF, y = values, fill=group_num)) + 
    geom_boxplot() + 
    stat_signif(comparisons=list(c('TRUE','FALSE')),map_signif_level = T) + 
    facet_grid(~group_num) + 
    theme(panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     panel.background = element_blank(), 
     axis.line = element_line(colour = "black"), 
     strip.text.x = element_blank()) 

enter image description here

所以,我的問題是如何使用一組(as.factor),以獲得像在頂部意義的第一張照片的輸出對於我使用facet_grid的所有不同的組?

回答

1

嘗試在geom_boxplot呼叫添加組作爲fill(如因子)變量:

ggplot(test, aes(x = TF, y = values)) + 
    geom_boxplot(aes(fill=group)) 
相關問題