我有直线作为约束,我试图遮蔽可行区域。
我用abline绘制了我的线条,但是我不能在多边形中加阴影。 这就是我到目前为止所做的。
我是R的新手。
plot(c(0, 2), c(0, 2), type='n')
abline(-1/4, 6)
abline(1/2,7)
abline(2,-8)
abline(1,-3)
答案 0 :(得分:5)
所以这是一种不需要计算角落的方法:
plot(c(0, .5), c(0, 2), type='n')
abline(-1/4, 6, lty=2)
abline(1/2,7, lty=2)
abline(2,-8, lty=2)
abline(1,-3, lty=2)
conditions <- function(x,y) {
c1 <- (y > -1/4 + 6*x)
c2 <- (y < 1/2 + 7*x)
c3 <- (y < 2 - 8*x)
c4 <- (y > 1 - 3*x)
return(c1 & c2 & c3 & c4)
}
x <- seq(0,0.5,length=1000)
y <- seq(0,2,length=1000)
z <- expand.grid(x=x,y=y)
z <- z[conditions(z$x,z$y),]
points(z, col="red")
使用ggplot
library(ggplot2)
ggplot(z, aes(x,y))+geom_point(colour="red", alpha=.5)+
geom_abline(intercept=-1/4,slope=6, linetype=2)+
geom_abline(intercept=1/2, slope=7, linetype=2)+
geom_abline(intercept=2, slope=-8, linetype=2)+
geom_abline(intercept=1, slope=-3, linetype=2)+
xlim(0,0.5)+ylim(0,2)
答案 1 :(得分:4)
使用polygon
绘制多边形并对其进行着色。例如:
plot(c(0, 3), c(0, 3), type = 'n')
x <- c(1, 2, 2, 1) # The x-coordinate of the vertices
y <- c(2, 1, 2, 1) # The y-coordinate of the vertices
polygon(x, y, col = 'grey')
将为蝴蝶结形状的多边形创建并着色灰色。