R 使用ggplot在连续x轴上引入间隙

R 使用ggplot在连续x轴上引入间隙,r,ggplot2,missing-data,stacked-area-chart,timeserieschart,R,Ggplot2,Missing Data,Stacked Area Chart,Timeserieschart,这有点像是在我之前创建的带有缺失值的堆叠区域/条形图的基础上构建的(我运行的所有脚本都可以在那里找到)。然而,在这篇文章中,我在问,在一个连续的x轴上是否可能留下一个间隙?我有一个时间序列(逐月)超过一年,但对于一个样本,一个月是缺少的,我想显示这个月作为一个完整的差距在绘图。几乎就像绘制一张1月至8月(缺少九月)的图表和一张10月至12月的图表,并将它们与九月的间隙合并 我想尝试的唯一方法是将缺失的月份视为零或NA,在9月份的面积图中创建一个大幅度下降,或将其排除在外,但x轴范围分别为1-11

这有点像是在我之前创建的带有缺失值的堆叠区域/条形图的基础上构建的(我运行的所有脚本都可以在那里找到)。然而,在这篇文章中,我在问,在一个连续的x轴上是否可能留下一个间隙?我有一个时间序列(逐月)超过一年,但对于一个样本,一个月是缺少的,我想显示这个月作为一个完整的差距在绘图。几乎就像绘制一张1月至8月(缺少九月)的图表和一张10月至12月的图表,并将它们与九月的间隙合并

我想尝试的唯一方法是将缺失的月份视为零或NA,在9月份的面积图中创建一个大幅度下降,或将其排除在外,但x轴范围分别为1-11(请参见dropbox文件夹中的图)

我正在处理的数据集可以在my中找到,它名为r_class.txt,您还可以看到两个不同的图(Rplots1和2)


任何想法都将不胜感激

将序列绘制为两个单独的数据帧:

#Load libraries
require(ggplot2)
require(reshape)

#Code copied from your linked post:
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)

#For readability, split the melted data frame into two separate data frames
wam1 <- wam[wam$variablen %in% 1:6,]
wam2 <- wam[wam$variablen %in% 8:12, ]

ggplot() +
  geom_area(data=wam1, aes(x=variablen, y=value, fill=Class)) +
  geom_area(data=wam2, aes(x=variablen, y=value, fill=Class))
  #and add lineranges, etc., accordingly
#加载库
需要(ggplot2)
需要(重塑)
#从链接文章复制的代码:
wa=read.table('wa_class.txt',sep=“”,header=F,na.string=“0”)
姓名(wa)=c(“班级”、“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”)
wam=熔化(wa)
wam$variablen=as.numeric(wam$variable)
#为了可读性,将熔化的数据帧拆分为两个单独的数据帧

wam1一个更好的提问形式是避免下面的符号和问候语。我不完全明白你的问题:A)你的x轴应该保持连续。只是你的图层有一个间隙:我认为你可以通过放置1-8月图层和10-12月图层来实现。b) 您希望轴上有一个间隙(ggplot术语中的参考线)。在1月到8月之间进行切面是最容易实现的。十月到十二月。只需使用缺少的值。“这会打破界限的。”哈德利,你能解释一下吗?似乎缺少的值是用geom_区域(但不是,例如,geom_线)插值的。因此,使用链接帖子上的OP代码,如果我们将所有“Sep”值设置为NA,则Sep区域中没有中断。如果
geom_区域
没有与NA中断,则这是一个错误。如果有人提供了一个最小的自包含示例,我可以进一步探索。非常感谢!工作得很好!