【发布时间】:2014-12-01 23:17:21
【问题描述】:
我想绘制一个函数:f(x,y)=x^2-2*y,有一个约束:x+y=1 在我的图形函数重叠中,没有看到受限函数 f(x,y)。如果 x+y-1=0 是透明的,会更好。 R中的小米代码:
x <- seq(-5, 5, length= 10)
y <- x
fun1<-function(x,y){x^2-2*y}
m <- outer(x, y, fun1)
m[is.na(m)] <- 1
persp(x, y, m, theta = 30, phi = 30,
expand = 0.5, col = "royalblue", ltheta = 120,
shade = 0.75, ticktype = "detailed")
par(new=TRUE)
fun1<-function(x,y){x+y-1}
m <- outer(x, y, fun2)
m[is.na(m)] <- 1
persp(x, y, m, theta = 30, phi = 30,
expand = 0.5, col = "red", ltheta = 120,
shade = 0.75, ticktype = "detailed")
【问题讨论】:
-
您可以改用透明色。例如,如果您使用
col=rgb(1,0,0,0.5)而不是col="red",您将获得 50% 透明的红色而不是纯红色。 -
此外,如果您知道给定颜色的十六进制值(请参阅here for example),您也可以使其透明。例如,
"royalblue"具有十六进制值"#4169E1"。您可以在完全透明的00和完全不透明的FF(255 in base 10)之间添加一个两位十六进制数,以获得所需的透明度。在您的情况下,您可以将"royalblue"替换为"#4169E180"以获得 50% 的透明度(base 16 中的 80 = base 10 中的 128)。 -
@eipi10 -- 你也可以使用
adjustcolor("royalblue", alpha.f=0.5)。 -
啊,很高兴知道。谢谢乔希。