我希望在R中的同一个图上显示两个图形,其中两个图形具有非常不同的比例,即一个从-0.001到0.0001,另一个从0.05到0.2。
我找到了这个链接http://www.statmethods.net/advgraphs/axes.html
表示如何在同一个地块上显示两个y轴,但我遇到了麻烦 我的代码如下:
plot(rateOfChangeMS[,1],type="l",ylim=c(-0.01,.2),axes = F)
lines(ratios[,1])
x = seq(-0.001,0.0001,0.0001)
x2 = seq(0.05,0.2,0.01)
axis(2,x)
axis(4,x2)
我遇到的问题是,尽管R显示了两个轴,但它们并不像我想的那样彼此相邻,并附有结果图。左轴用小范围测量图形,而右边用0.05到0.2测量图形。事实上,第二张图是在图上,但缩放比例很小,你无法看到它。
不确定是否存在我违反的礼仪规则,之前从未上传过图片,因此不太确定如何做到这一点。
非常感谢任何帮助!
由于
麦克
答案 0 :(得分:2)
由于您未提供可重现的示例或代表性数据集,因此这是部分答案。
set.seed(1)
df <- data.frame(x=1:100,
y1=-0.001+0.002/(1:100)+rnorm(100,0,5e-5),
y2=0.05+0.0015*(0:99)+rnorm(100,0,1e-2))
ticks.1 <- seq(-0.001,0.001,0.0001)
ticks.2 <- seq(0.05,0.2,0.01)
plot(df$x, df$y1, type="l", yaxt="n", xlab="X", ylab="", col="blue")
axis(2, at=ticks.1, col.ticks="blue", col.axis="blue")
par(new=T)
plot(df$x, df$y2, type="l", yaxt="n", xlab="", ylab="", col="red")
axis(4, at=ticks.2, col.ticks="red", col.axis="red")
左轴被压缩的原因是两个轴的尺寸相同。你可以通过基本上叠加两个完全不同的图来解决这个问题(毕竟这是两个轴的作用)。顺便提一下,像这样的双轴不是可视化数据的好方法。它产生了一种极具误导性的视觉印象。