使用ggplot在连续x轴上引入间隙 [英] introducing a gap in continuous x axis using ggplot

查看:128
本文介绍了使用ggplot在连续x轴上引入间隙的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这有点像我以前的

This is kinda a build-on on my previous post creating an stacked area/bar plot with missing values (all the script I run can be found there). In this post, however, Im asking if its possible to leave a gap in an continuous x axis? I have a time-serie (month-by-month) over a year, but for one sample one month is missing and I would like to show this month as a complete gap in the plot. Almost like plotting a graph for Jan-Aug (Sep is missing) and one for Oct-Dec and merging these with a gap for Sep.

我要尝试的唯一方法是将缺少的月份视为零或不适用,在Sep的面积图中创建休克降幅或将其排除在外,但x轴的范围分别为1-11(请参见投寄箱资料夹).

The only things I have come up trying are treating the missing month as zero or NA, creating a hugh drop in the area chart for Sep or excluding it but with an x axis ranging from 1-11, respectively (see plots in dropbox folder).

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

The data set Im working on can be found in my dropbox folder and it's named r_class.txt and you can also see the two different plots (Rplots1 and 2).

任何想法都将不胜感激!

Any ideas would really be appreciated!

推荐答案

将系列绘制为两个单独的数据框:

Plot the series as two separate data frames:

#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

这篇关于使用ggplot在连续x轴上引入间隙的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆