2016-09-23 4 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', добавьте' arr (x) 'в трубу до' mutate() 'для сортировки по' x'. «Черность» создается «geom_area()». Возьмите это, и вы просто получите очки. Если вы хотите добавить строку, соединяющую точки, добавьте 'geom_line()' –

+0

Cheer M8 ваша легенда +1 –

Смежные вопросы