2016-09-23 189 views
0

我正在尝试创建一个累积百分比图,以便所有值= 100%在y轴上。ggplot2累积百分比图

下面是代码:

dmScat <- data.frame(c(0,1,2,3,4,5,6)) 

colnames(dmScat) <- c("c") 

ggplot(dmScat, 
     aes(x=sort(c), 
      y=1:length(c)),)+ 
    geom_point(shape=1, colour = "Orange")+ 
    labs(x="DM %",y="Cumulative %")+ 
    scale_y_continuous(labels = percent) 

我只是希望它是0%到100%的所有数据。

干杯,

回答

0

如果我理解正确的问题(虽然预期输出的一个例子将是有益的),下面可能会有所帮助:

library(dplyr) 
library(ggplot2) 

d <- data.frame(x = 0:6) 

d <- d %>% mutate(percent = 100/n() * 1:n()) 

ggplot(d, aes(x = x, y = percent)) + 
    geom_area() + 
    geom_point(color = "lightblue", size = 5) + 
    labs(x = "X variable", y = "Cumulative %") + 
    theme_bw() 

enter image description here

+0

您已经得到它了!只是想提一提,您可能希望x = sort(x),因为我的数据不合适! 另外我犯了使用theme_bw()的错误,现在它不会停止出现!任何想法如何消除点以下的黑度? –

+0

如果您很乐意继续使用'dplyr',请在'mutate()'之前在管道中添加'arrange(x)'以按'x'排序。 “黑度”由'geom_area()'创建。把它拿出来,你就可以得到积分。如果你想添加一个连接点的线,添加'geom_line()' –

+0

啦啦队M8你的一个传奇+1 –