【问题标题】:Correct for missing values in a Stacked area plot using ggplot2使用 ggplot2 纠正堆积面积图中的缺失值
【发布时间】:2012-10-11 21:56:47
【问题描述】:

我一直在尝试在堆叠条形图/面积图的组合上重新创建此 post。不过,我有一些缺失值的问题。

这是我的数据:https://www.dropbox.com/sh/pnkspwnn1qslm6u/JapTKCwqMS

我跑的是;

    wa=read.table('wa_class.txt', sep="", header=F, na.string="0")
    names(wa)=c("Class","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
    wam=melt(wa)
wam$variablen=as.numeric(wam$variable)

它的样子

    > head(wam)
                   Class variable     value variablen
1         Actinobacteria      Jan 38.115163         1
2          Flavobacteria      Jan        NA         1
3        Sphingobacteria      Jan  3.640469         1
4    Alphaproteobacteria      Jan 13.631663         1
5 Betaproteobacteria_b28      Jan  3.718671         1
6     Betaproteobacteria      Jan 14.732354         1

ggplot(na.omit(wam[,c("Class","value","variablen")]), aes(wam,x=variablen, y=value, fill=Class)) + geom_area(color="black") + geom_linerange(aes(ymax=value), position="stack") + scale_x_continuous(breaks=1:max(wam$variablen)) + labs(title="Water", x="Month", y="Relative abundance (%)")

...所以我尝试在我绘制的变量上使用 na.omit 来纠正缺失值。但是,我在图中得到了图层,例如相互覆盖(请参阅保管箱文件夹)。

我发现了这篇文章(参见 dropbox 文件夹),它对其进行了更正,但似乎只有一个。而且我无法重现它,因为指向数据的链接已经失效。

任何帮助将不胜感激!

谢谢,

【问题讨论】:

  • 我想知道你为什么在脚本中以Mar 开头。因此,数据与您在此处发布的数据不同。
  • 哦,忘记在帖子中更改了。它当然应该从 Jan 等开始......现在更正了。谢谢!

标签: r ggplot2 missing-data stacked-area-chart stackedbarseries


【解决方案1】:

一种解决方案是将零读取为零值。如果不使用na.string="0",情节会是这样的:

【讨论】:

    猜你喜欢
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2013-04-10
    相关资源
    最近更新 更多