【问题标题】:Stacked area (ggplot2) and NA not considered堆叠区域 (ggplot2) 和 NA 未考虑
【发布时间】:2016-02-16 11:45:07
【问题描述】:

我正在使用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 值,但我的绘图中没有考虑这些值。

有人知道吗?

【问题讨论】:

  • 你能加入一个reproducible example吗?
  • “未考虑”是什么意思?你想有一个不连续性(白色间隙)?
  • 正如 Agenis 所问的,我会在这段短暂的时间内出现不连续性,并且在上一个链接上会得到相同的结果。我尝试使用 geom_ribbon 函数,但我从未构建过循环...
  • 可能是 OP 正在抱怨一个新的 ggplot2 错误。不知道这里有什么问题,但如果是他应该在有插值的地方有空白(空白),然后检查这个。stackoverflow.com/questions/35454277/…

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


【解决方案1】:

抱怨似乎是“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_area 和geom_ribbon 两个层使用相同的ggproto 代码

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-23
      • 1970-01-01
      • 2021-05-22
      • 2011-03-20
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多