3

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

我得到这个情节:

在此处输入图像描述

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

有人有什么主意吗?

4

2 回答 2

2

抱怨似乎是“Janv. 30”应该有一个空白区域,因为那里缺少数据。geom_area是基于GeomRibbon并且那里有一个错误导致发生这种情况,我将其发布到 GitHub。Hadley 实际上现在只是修复了它,但版本当然没有发布。

现在有一个解决方法,我昨天在这个链接上发布了你能让 geom_ribbon 为缺失值留下一个空白吗?.

更新

在我让你创建一个新的 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代码

于 2016-02-18T02:37:48.637 回答
0

我通过根据轮询的限制创建 2 行空数据来解决这个问题。现在,新的轮询已经把这个地方弄成了一个“空白”。我只想感谢你的帮助

于 2016-03-08T09:28:27.647 回答