我正在尝试绘制CDF以显示相对于水质标准的水质数据。
为了使水质标准显而易见,我正在使用rect()
该方法来指示地块的哪些部分不在设定的标准之内。
我正在使用内部密度rect()
来创建散列填充,以便在以黑白打印时它会更好地工作(我认为它看起来更好)。
当我只有要使用的地块的一个区域时,这可以很好地工作rect()
:
当我rect()
在图中有两个单独的调用时,第一个rect()
似乎忽略了密度参数,并使用了实心填充:
这是我用来执行此操作的代码示例:
pH数据data<-rnorm(30, mean = 7, sd = 1)
pH图
data.ecdf<-ecdf(data)
plot(data.ecdf, verticals = TRUE, do.points = FALSE, xaxs = "i", yaxs = "i", xlim=c(5,10), panel.first = rect(5, -0.02, 6, 1.04, density = 20, border = "258", col = "258"))
plot(data.ecdf, verticals = TRUE, do.points = FALSE, xaxs = "i", yaxs = "i", xlim=c(5,10), panel.first = rect(5, -0.02, 6, 1.04, density = 20, border = "258", col = "258", rect(9,-0.02,10,1.04, density = 20, border = "258", col = "258")))
我也尝试在ggplot2中执行此操作,但似乎获得散列填充比在图形中困难得多。
关于如何使两个都rect()
在背景中显示为带有散列的fill(density = 20
)的任何想法或想法,将不胜感激。
谢谢!
不知道为什么会这样,但是您可以在panel.first
arg中一次调用两个矩形:
plot(data.ecdf, verticals = TRUE, do.points = FALSE, xaxs = "i", yaxs = "i", xlim=c(5,10), panel.first = c(
rect(9,-0.02,10,1.04, density = 20, border = "258", col = "258"),
rect(5, -0.02, 6, 1.04, density = 20, border = "258", col = "258")
))
或者,尝试将矩形单独作为图层调用:
plot(data.ecdf, verticals = TRUE, do.points = FALSE, xaxs = "i", yaxs = "i", xlim=c(5,10), lty='n')
rect(9,-0.02,10,1.04, density = 20, border = "258", col = "258")
rect(5, -0.02, 6, 1.04, density = 20, border = "258", col = "258")
lines(data.ecdf, verticals = TRUE, do.points = FALSE, xaxs = "i", yaxs = "i", xlim=c(5,10))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句