2017-08-05 105 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)