堆积区域(ggplot2)和NA未考虑

时间:2016-02-16 11:45:08

标签: r plot ggplot2 na stacked-area-chart

我使用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")

我得到了这个情节:

enter image description here

我有一个简单的问题:在Janv。 30,我的数据框上有NA值,但我的图中没有考虑这些值。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:2)

投诉似乎是“Janv.30”应该有一个空白空格,因为那里缺少数据。 geom_area基于GeomRibbon,并且有一个错误导致这种情况发生,我发布到GitHub。 Hadley现在实际上已经修好了,但当然没有发布版本。

我昨天在此链接Can you make geom_ribbon leave a gap for missing values?发布了一个解决方法。

更新

在我创建一个新geom来解决这个问题之前,现在我发现了一个执行相同操作的单行:

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_areageom_ribbon使用相同的ggproto代码

答案 1 :(得分:0)

我根据interpollat​​ion的限制创建了2行空数据来解决问题。现在,新的隔离已经成为一个空白的&#34;这个地方。我只想感谢你的帮助