包gap.plot
中的函数plotrix
用于绘制想要在y轴或x轴上放置间隙的图形。但是,我似乎无法在曲线中添加曲线。这是一个玩具可重复的例子。
xx = c(100, 10,9,8,7,0)
yy = c(88, 9,9,7,7,7)
tt = 1:6;
gapxy = c(12, 85)
gap.plot(tt, xx, gap=gapxy, ylim=c(0,100), ytics=c(1:11, 86:100) )
lines(tt, yy)
此处的关键问题是yy
数据和xx
数据的值存在于差距中。这会导致警告消息。但是,更令人担忧的是,yy
变量的最大值为88,但在差距图中添加yy
会使其在页面外的最大值。无论如何都要纠正这个。我不一定坚持使用间隙图,但确实要求我们坚持使用基本软件包没有ggplot2解决方案。我已尝试使用add = T
作为选项替换第二个gap.plot调用行,如文档中所示,但这导致yy的上半部分没有绘制。
gap.plot(tt, yy, gap=gapxy, add=T, type='l', ylim=c(0,100))
答案 0 :(得分:3)
线条未显示的原因是gap.plot
没有正确设置坐标系,如
> par("usr")
[1] 0.80 6.20 -1.08 28.08
这意味着x轴的范围应该在[0.8, 6.2]
之间,但是y轴的范围在[-1.08, 28.08]
之间,即使情节使它看起来像是一直到100。
我建议您使用R的标准工具设置一个双面板图,而不是使用gap.plot
。它需要更多的代码,但是直截了当。
par(mfrow=2:1, mar=rep(.5, 4), oma=c(3,3,1,1))
plot(tt, xx, ylim=c(86, 100), axes=FALSE)
axis(2); box()
lines(tt, yy)
plot(tt, xx, ylim=c(1, 11))
lines(tt, yy)