假设我有两个想要以图形方式比较的样本。一种方法是将一个放在另一个上面,如下所示:
x1 = rnorm(100)
x2 = rnorm(100, mean=2)
plot(density(x1))
lines(density(x2), col="red")
然而,我想知道是否有一种方法可以绘制 x2,使得该图与 x1 的图共享相同的轴,除了它是颠倒的,如下图所示。如果有任何方法不涉及下载额外的软件包,那就太好了。
谢谢!
如果 y 轴是否包含低于零的值无关紧要,您可以使用它:
x1 <- rnorm(100)
x2 <- rnorm(100, mean=2)
dens1 <- density(x1)
dens2 <- density(x2)
dens2$y <- dens2$y * -1
plot(dens1,
ylim = range(c(dens1$y, dens2$y)),
xlim = range(c(dens1$x, dens2$x)),
main = "",
xlab = "")
lines(dens2, col = "red")
ylim=(...)
您可以通过使用参数(或xlim=(...)
) 并以相反的顺序指定限制来反转绘图的轴。
例如:
layout(matrix(1:2, ncol=1))
par(mai=c(0.5, 1, 0.5, 1))
plot(c(-6, 6), 0:1, type="n", ylim=c(0, 1), xlab="", ylab="")
lines(density(x1), ylim=c(0, 1))
plot(c(-6, 6), 0:1, type="n", ylim=c(1, 0), xlab="", ylab="")
lines(density(x2), col="red", ylim=c(1, 0))
mar
使用函数的参数可以只获得一个 x 轴par
。R 代码如下所示:
#Create Data
x1 = rnorm(100)
x2 = rnorm(100, mean=2)
#Make the plot
par(mfrow=c(2,1))
par(mar=c(0,5,3,3))
plot(density(x1) , main="" , xlab="", ylim=c(0,1) , xaxt="n", las=1 , col="slateblue1" , lwd=4 )
par(mar=c(5,5,0,3))
plot(density(x2) , main="" , xlab="Value of my variable", ylim=c(1,0) , las=1 , col="tomato3" , lwd=4)
给出这个情节:
此图存在于R 图库中