Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用于绘制ecdf的col/bg_R_Plot - Fatal编程技术网

R 用于绘制ecdf的col/bg

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

我想强调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) 
# 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)
。破解替换函数将是一项非常简单的任务。