2016-09-23 382 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 –