R 如何在绘图中的每一行之间添加空格
假设我有这样的数据R 如何在绘图中的每一行之间添加空格,r,R,假设我有这样的数据 M<- matrix(rnorm(20),20,5) x <- as.matrix(sort(runif(20, 5.0, 7.5))) M您可以对每个y值添加一个小的更改,使每行稍微移动 set.seed(595) M <- matrix(rnorm(20),20,5) x <- as.matrix(sort(runif(20, 5.0, 7.5))) plot(NA, ylim=range(M), xlim=range(x), ann=FALS
M<- matrix(rnorm(20),20,5)
x <- as.matrix(sort(runif(20, 5.0, 7.5)))
M您可以对每个y值添加一个小的更改,使每行稍微移动
set.seed(595)
M <- matrix(rnorm(20),20,5)
x <- as.matrix(sort(runif(20, 5.0, 7.5)))
plot(NA, ylim=range(M), xlim=range(x), ann=FALSE, axes=T, type="l")
# Amount by which to shift each y value
eps = seq(-0.1, 0.1, length.out=ncol(M))
lapply(1:ncol(M), function(i){
lines(x, M[,i] + eps[i], col=i)
})
set.seed(595)
M如果您使用ggplot,您可以使用本文中所示的alpha命令轻松完成此操作:
你也可以使用这篇文章中的代码来抖动行
我在我的真实数据上尝试了你的函数,但我得到了一个错误,x和y的长度不相同,M可以在这里找到,x可以在这里找到。这两个数据源的行数相同,但是检查R中的实际数据对象,以确保行
函数中的x
和M
确实具有相同数量的值。是否有其他方法可以绘制它以用于我的实际数据?请参阅更新我的答案,以了解出现错误的可能原因以及如何处理。这不是问题解决方案
set.seed(595)
M <- matrix(rnorm(20),20,5)
x <- as.matrix(sort(runif(20, 5.0, 7.5)))
plot(NA, ylim=range(M), xlim=range(x), ann=FALSE, axes=T, type="l")
# Amount by which to shift each y value
eps = seq(-0.1, 0.1, length.out=ncol(M))
lapply(1:ncol(M), function(i){
lines(x, M[,i] + eps[i], col=i)
})