绘制R中的不等式

时间:2014-11-02 09:39:52

标签: r plot linear-programming

我在R遇到问题,我非常感谢你的帮助。

我必须为以下约束绘制可行性区域:

constrains:
5*x + 3*y >=  210
x + y <= 110
4*x + y <= 200

有什么想法吗?另外我需要为可行的颜色着色。

1 个答案:

答案 0 :(得分:2)

一种方式,除了评论中的链接之外,还要使用geom_ribbon特别适合用线性约束绘制区域。

enter image description here

library(ggplot2)

fun1 <- function(x) 210/3 -5/3*x
fun2 <- function(x) 110 -x
fun3 <- function(x) 200 -4*x
x1 = seq(-5,100)
mydf = data.frame(x1, y1=fun1(x1), y2=fun2(x1),y3= fun3(x1))
mydf <-  transform(mydf, z = pmax(y1,pmin(y2,y3)))
ggplot(mydf, aes(x = x1)) + 
  geom_line(aes(y = y1), colour = 'blue') +
  geom_line(aes(y = y2), colour = 'green') +
  geom_line(aes(y = y3), colour = 'red') +
  geom_ribbon(aes(ymin=y1,ymax = z), fill = 'gray60')