Область с накоплением (ggplot2) и NA не учитываются

Я использую пакет ggplot2 для построения сложенной области изобилия видов.

Мой код:

#Aggragate 2 column
    x=IBTS[,3:4]
    Datehour=paste(IBTS$Date.,IBTS$Time.)
    Date<-strptime(Datehour,"%d/%m/%Y %H:%M")

#Add a new column with the date
    IBTS$Date
    IBTS<-cbind(IBTS,Date)

#Plotting the data
    p<-ggplot(IBTS,aes(x=Date,y=Number.of.Particles.))
    p+geom_area(aes(fill=Selection.set.),position="stack")+  
    theme_bw()+ scale_fill_brewer(palette="Blues")

Я получаю этот сюжет:

введите здесь описание изображения

У меня простой вопрос: на янв. 30, у меня есть значения NA в моем фрейме данных, но эти значения не учитываются на моем графике.

У кого-нибудь есть идеи?


person Arnaud Louchart    schedule 16.02.2016    source источник
comment
Не могли бы вы включить воспроизводимый пример?   -  person Jaap    schedule 16.02.2016
comment
что значит не учтено? вы хотели бы иметь разрыв (белый разрыв)?   -  person agenis    schedule 16.02.2016
comment
кажется дубликатом stackoverflow.com/q/30116606/3871924   -  person agenis    schedule 16.02.2016
comment
Как и просил Агенис, у меня будет разрыв на этом коротком периоде и будет такой же результат на предыдущей ссылке. Я пробовал использовать функцию geom_ribbon, но так и не построил цикл...   -  person Arnaud Louchart    schedule 16.02.2016
comment
Может быть, тогда ОП жалуется на новую ошибку ggplot2. Не уверен, в чем здесь проблема, но если дело в том, что у него должны быть пробелы (пробелы) там, где есть интерполяция, то проверьте это. stackoverflow.com/questions/35454277/   -  person Mike Wise    schedule 17.02.2016
comment
Я опубликовал проблему, и Хэдли исправил ее, так что это может быть исправлено сейчас. Не уверен, потому что это geom_area, а не geom_ribbon. github.com/hadley/ggplot2/commit/   -  person Mike Wise    schedule 18.02.2016
comment
И я нашел однострочный обходной путь. Смотрите ответ ниже.   -  person Mike Wise    schedule 18.02.2016


Ответы (2)


Жалоба, похоже, заключается в том, что в «30 января» должно быть пустое место, потому что там отсутствуют данные. geom_area основан на GeomRibbon, и там была ошибка, из-за которой это происходило, которую я разместил на GitHub. Хэдли на самом деле только что исправил это сейчас, но версия, конечно, не выпущена.

На данный момент есть обходной путь, который я опубликовал вчера по этой ссылке values/35461050#35461050">Можете ли вы сделать так, чтобы geom_ribbon оставлял пробел для отсутствующих значений?.

Обновлять

Прежде чем я попросил вас создать новую геометрию, чтобы исправить это, теперь я обнаружил одну строку, которая делает то же самое:

GeomRibbon$handle_na <- function(data, params) { data }

p<-ggplot(IBTS,aes(x=Date,y=Number.of.Particles.))
p+geom_ribbon_na(aes(fill=Selection.set.),position="stack")+  
theme_bw()+ scale_fill_brewer(palette="Blues")

Это не очевидная ошибка, так как вы должны знать, что два слоя geom_area и geom_ribbon используют один и тот же код ggproto.

person Mike Wise    schedule 18.02.2016

Я исправил проблему, создав 2 строки нулевых данных в соответствии с пределами интерполяции. Теперь новая интерполяция сделала это место «пустым». Я просто хочу поблагодарить вас за вашу помощь

person Arnaud Louchart    schedule 08.03.2016