2017-08-05 96 views
1

我試圖做GGplot箱線圖,我得到的只有一個框,當我不喜歡GGplot箱圖VS箱線圖

ggplot(data_frame, aes(x=probs, y=values)) + 
    geom_boxplot(color="red", fill="orange", alpha=0.5) 

一個ggplot,而我應該得到3盒,當我做正常的情節:

boxplot(values ~ probs, data = data_frame, 
     xlab = "Probabilities", 
     ylab = "Values (1Q, Mean, Median, StdDev, 3Q)", 
     main = "1Q, Mean, Median, StdDev, 3Q", 
     col = c("green","yellow","purple")) 

Sample data: 
> head(data_frame,20) 
    values probs 
1 16.000 0.3 
2 18.000 0.3 
3 18.000 0.3 
4 3.550 0.3 
5 20.000 0.3 
6 27.000 0.5 
7 30.000 0.5 
8 30.000 0.5 
9 3.873 0.5 
10 33.000 0.5 
11 46.000 0.8 
12 48.000 0.8 
13 48.000 0.8 
14 3.098 0.8 
15 50.000 0.8 

任何指針非常感謝。 謝謝!

回答

0

Geom_boxplot的X軸必須是絕對的,以獲得它想要的。 一種解決方案是改造 「probs」 的角色:

ggplot(data_frame, aes(x=as.character(probs), y=values)) + 
    geom_boxplot(color="red", fill="orange", alpha=0.5) 
0

希望這是你在找什麼...

ggplot(df, aes(x=factor(probs), y=values)) + 
    geom_boxplot(color="red", fill="orange", alpha=0.5)