去除 y = 0 处 R 密度图密度中的灰线

Get rid of gray line in R density plot density at y = 0

我有一个密度图,我想将其保存在 eps 文件中。

我的密度图是这样的

setEPS()
postscript("myfile.eps")
plot(density(rnorm(1000)))
dev.off()

仅使用我的数据,稍微复杂一点(更改标签和页边距,在上面添加更多行等)。

我的问题是在 y = 0 处的密度图顶部有一条烦人的水平细灰线,我想去掉它。

当直接绘制到 X 设备时,我没有得到这条水平灰线,但在后记中我总是这样。

我试过使用 dev.copy2epscairo_ps() 而不是 postscript(),但我仍然得到灰线。

我也试过使用不同的(和随机的)数据,像上面的代码块一样有一个非常简单的图,但仍然在后记中得到灰线。

有谁知道如何摆脱这条线?

阅读帮助页面:

?plot.density

zero.line.......符合逻辑;如果为 TRUE,则在 y = 0

处添加一条基线

我承认我不是通过阅读帮助页面发现这一点的。我查看了 density.default 的代码,发现没有任何用处,然后尝试了 plot.density,什么都没有,找到了消息,然后尝试了:

> getAnywhere(plot.density)

产生这个...让我意识到 应该从帮助页面开始:

A single object matching ‘plot.density’ was found
It was found in the following places
  registered S3 method for plot from namespace stats
  namespace:stats
with value

function (x, main = NULL, xlab = NULL, ylab = "Density", type = "l", 
    zero.line = TRUE, ...)