我现在试图绘制一些数据的概率密度函数,我发现y=0
和x轴之间有一段距离。我试图设置yaxs="i"
,但x轴将变为灰色。有什么解决方案吗?谢谢。这是一个例子
set.seed(100)
plot(density(rnorm(100)),xlab="",ylab="",main="")
plot(density(rnorm(100)),yaxs="i",xlab="",ylab="",main="")
答案 0 :(得分:2)
您获得灰色线条的原因是,当您将对象类plot.density
传递给density
时,您正在调用plot
。 plot.density
的{{1}}参数设置为TRUE,默认情况下使用zero.line
绘制灰线(请参阅abline(h = 0, lwd = 0.1, col = "gray")
代码)。您需要将stat:::plot.density
设置为FALSE。
zero.line
如果你想在顶部留出比plot(density(nums), yaxs="i",
xlab="", ylab="", main="",
zero.line = FALSE)
更多的空间,你也可以控制上部ylim
。当然,您仍需要yaxs = "i"
来绘制灰色零线。
zero.line = FALSE
另一种解决方案是用另一条线覆盖灰线:
plot(density(nums), yaxs="i",
xlab="", ylab="", main="",
zero.line = FALSE,
ylim = c(0, 0.5)) # put whatever you want here instead 0.5
答案 1 :(得分:-1)