R 用于绘制ecdf的col/bg
我想强调ecdf图中的某些点(没有相邻的线)。问题是,R 用于绘制ecdf的col/bg,r,plot,R,Plot,我想强调ecdf图中的某些点(没有相邻的线)。问题是, a) 使用col,这些点左边的行也会被标记: b) 使用bg绝对无效,即使指定了通常使用bg的pch: 我的错在哪里?是否有一种简单的方法可以做到这一点(除了提取ecdf函数数据并手动创建绘图)?与ggplot等相比,我更喜欢普通绘图。提前感谢 set.seed(seed=123) dta=rnorm(20) plot(1:2, pch=c(19, 25), col="blue", bg="red", cex=5, lwd=4) # wo
a) 使用
col
,这些点左边的行也会被标记:b) 使用
bg
绝对无效,即使指定了通常使用bg的pch
:
我的错在哪里?是否有一种简单的方法可以做到这一点(除了提取ecdf函数数据并手动创建绘图)?与ggplot等相比,我更喜欢普通绘图。提前感谢
set.seed(seed=123)
dta=rnorm(20)
plot(1:2, pch=c(19, 25), col="blue", bg="red", cex=5, lwd=4)
# works perfectly (note: pch=19 only has col, no bg, whereas others (e.g. 25) have col (border) and bg (fill))
# a)
plot(ecdf(dta), pch=19, col=c("gray","red"))
# colored symbols AND lines, but I only want to color the symbols (see 1st figure above)
# b)
plot(ecdf(dta), pch=25, col="gray",bg="red")
# specifying bg does not work from plot.ecdf (see 2nd fig. above)
这对你有用吗
set.seed(seed=123)
dta=rnorm(20)
##
plot(ecdf(dta), pch=19,
col="gray",
col.01line = "gray")
lines(ecdf(dta),col="gray",
col.points=c(
rep(c("gray","red"),20)))
##
编辑:更容易(无需额外的行
调用)在绘图可用的传统参数处合并。stepfun
直接:
# nonsense colors, just to illustrate the possibility to set further parameters:
? plot.stepfun # has many more parameters!!
plot(ecdf(dta), pch=19,
col="blue",
col.points=c(
rep(c("gray","red"),20)),
verticals=TRUE, col.vert="pink",
col.01line = "green")
谢谢-这对我来说很有效,即使我仍然不明白为什么bg被忽略…?很抱歉,我也不知道它被忽略的确切原因,但我可以给你一个解决办法吗?使用
opar保存当前的全局绘图设置plot.stepfun
(由plot.ecdf调用)忽略bg参数:点(xval,Fn.kn,pch=pch,col=col.points,cex=cex.points)
。破解替换函数将是一项非常简单的任务。