R 图例中的框和线

问题描述 投票:0回答:1

我已经完成了一个情节,并且有一个小问题让我对图例部分感到疯狂

我找不到将图例中的框居中的方法。

x = seq(-4,4,length=200)
y = dnorm(x,mean=0.816783035,sd=0.862916258)
plot(x,y,type="l",lwd=2,col="red" , xlim=c(-4, 4) ,  ylab="probabilitiy", xlab="")

 
# Shaded Area TBR!
c = -0.211653725

 
x = seq(-4,4,length=200)
y = dnorm(x,mean=-0.393475584,sd=0.895660247)
lines(x,y,type="l",lwd=2,col="blue")

 
legend("topright", legend = c('TBR', 'TBF', 'Criterion', 'Hit'), 
               bty = "n",
               col = c("green", "blue", "red",NA),
               lty = c(1,1,1,NA),
               density=c(0,0,0,10),
               fill = c("green", "blue", "red","red"),
               border = c(NA,NA,NA,"red"),
               )
abline(v= c)
 
x1 = seq(c,4, length = 200)
y1 = dnorm(x1,mean=0.816783035,sd=0.862916258)
 
polygon(c(c,x1) ,c(0, y1),density= 3, col="red")

enter image description here

r plot
1个回答
7
投票

我认为这是您需要使用的“x.intersp”参数。 尝试:

x=seq(-4,4,length=200)
y=dnorm(x,mean=0.816783035,sd=0.862916258)
plot(x,y,type="l",lwd=2,col="red" , xlim=c(-4, 4) ,  ylab="probabilitiy", xlab="")


# Shaded Area TBR!
c = -0.211653725


x = seq(-4,4,length=200)
y = dnorm(x,mean=-0.393475584,sd=0.895660247)
lines(x,y,type="l",lwd=2,col="blue")


legend("topright", legend = c('TBR', 'TBF', 'Criterion', 'Hit'), 
               bty = "n",
               col = c("green", "blue", "red",NA),
               lty = c(1,1,1,NA),
               density=c(0,0,0,10),
               fill = c("green", "blue", "red","red"),
               border = c(NA,NA,NA,"red"), 
               x.intersp=c(2,2,2,0.5)
               )
abline(v= c)

x1 = seq(c,4, length = 200)
y1 = dnorm(x1,mean=0.816783035,sd=0.862916258)

polygon(c(c,x1) ,c(0, y1),density= 3, col="red")

enter image description here

这符合你的要求吗?

© www.soinside.com 2019 - 2024. All rights reserved.