为了提出这个问题,我知道不鼓励在一个情节上绘制2个单独的y轴,并且它可能令人困惑和误导。但是,在这种情况下我必须这样做,并且在排队时遇到一些麻烦。这个领域通常被问到,但是当x指数稍微偏离时,我还没有看到任何关于如何做到这一点的问题。部分原因可能是由于我处理POSIX&日期对象,所以如果修复它,请告诉我。
我试图绘制土壤水分数据的时间序列,并将其与降水和其他参数进行比较。我尝试过使用ggplot2,但是对于做2个y轴图表看起来并不友好。数据间隔为2分钟,但正在使用年度或更大时间尺度的流程。下面是数据集的示例。有一些重复,因为数据来自Year,Julian Day和Minute,但我将它们组合成一个POSIXlt对象用于绘图和操作。
>to.analyze[1:10,]
Rowname Year Julian_Day Minute T_.C. Rel_Humid Precip_.mm. T_5cm T_10cm T_20cm T_50cm T_100cm Moist_5cm Moist_10cm Moist_20cm Moist_50cm Moist_100cm TOD Year.Month cumRain
2015.137.1 2015 137 0 18.85 19.83 0 31.88 30.08 25.66 21.36 20.6 0.046 0.054 0.07 0.125 0.134 5/17/2015 12:00:00 AM 2015.May 0
2015.137.2 2015 137 2 18.99 19.15 0 31.8 30.06 25.66 21.37 20.6 0.047 0.054 0.07 0.125 0.134 5/17/2015 12:02:00 AM 2015.May 0
2015.137.3 2015 137 4 19.12 20.3 0 31.72 30.03 25.69 21.37 20.6 0.047 0.054 0.07 0.125 0.134 5/17/2015 12:04:00 AM 2015.May 0
2015.137.4 2015 137 6 18.99 21.65 0 31.64 30.01 25.7 21.37 20.6 0.046 0.054 0.07 0.125 0.134 5/17/2015 12:06:00 AM 2015.May 0
2015.137.5 2015 137 8 18.68 22.59 0 31.55 29.98 25.72 21.37 20.6 0.046 0.054 0.07 0.125 0.134 5/17/2015 12:08:00 AM 2015.May 0
2015.137.6 2015 137 10 18.16 23.69 0 31.47 29.96 25.72 21.37 20.6 0.046 0.054 0.07 0.125 0.134 5/17/2015 12:10:00 AM 2015.May 0
2015.137.7 2015 137 12 17.69 24.8 0 31.38 29.93 25.75 21.37 20.6 0.047 0.054 0.07 0.125 0.134 5/17/2015 12:12:00 AM 2015.May 0
2015.137.8 2015 137 14 18.06 23.73 0 31.3 29.9 25.75 21.37 20.6 0.046 0.054 0.07 0.125 0.134 5/17/2015 12:14:00 AM 2015.May 0
2015.137.9 2015 137 16 18.39 22.97 0 31.2 29.88 25.77 21.37 20.6 0.046 0.054 0.07 0.125 0.134 5/17/2015 12:16:00 AM 2015.May 0
2015.137.10 2015 137 18 18.47 22.96 0 31.11 29.84 25.77 21.37 20.6 0.047 0.054 0.07 0.125 0.134 5/17/2015 12:18:00 AM 2015.May 0
编辑:在此处找到完整数据:http://dropcanvas.com/#Bl4hJG9Y4yfg5j(要大到粘贴)
Year.Month值是具有n个值的因子,其中n是所选择的唯一月/年组合的数量。我用这个来获得每月组的箱图。我想绘制一个深度土壤湿度的原始数据,然后绘制其上面的月度数据的箱线图,然后添加每月降水箱。每月降水量来自:
short.sumRain <- aggregate(Precip_.mm. ~ Year.Month, to.analyze, sum)
这个问题可以在下面的图中看到。
plot(to.analyze$TOD,to.analyze[, "Moist_10cm"], xlab = "Time",
ylab = "Volumetric Water Content", type = "l", xaxt = "n",
main = main, ylim = c(0, .3))
r <- as.POSIXct(range(to.analyze$TOD))
axis.POSIXct(1, at = seq(r[1],r[2], by = "months"), labels = TRUE, format = "%Y-%m",
las = 1, cex = 0.1)
# Add boxplot
par(new = TRUE)
boxplot(to.analyze$Moist_10cm ~ to.analyze$Year.Month, range = 0, type = "l",
xaxt = "n", yaxt = "n", ylim = c(0, .3), boxwex = 0.3)
# Add monthly rainfall sums
par(new = TRUE)
plot(short.sumRain$Precip_.mm., type = "o", col = "blue", xaxt = "n", yaxt = "n",
xlab = "", ylab = "", pch = 1)
axis(4)
mtext("Precip (mm)", side = 4, line = 1.5)
沉淀标签有点被切断(不确定为什么R会这样做,但是如果线条变得更小,它只会出现在标签的顶部),并且降水点与蜱虫不匹配点图标记。我认为这是因为第一个绘图是用POSIX x轴绘制的,而另一个不是,但是我如何才能得到那些2个阵容呢?