【发布时间】:2012-05-08 13:51:58
【问题描述】:
library(Sleuth2)
mlr<-lm(ex1222$Buchanan2000~ex1222$Perot96*ex1222$Gore2000)
for (i in 0:3) {
assign(paste("betaHat", i, sep=""),
summary(mlr)$coeff[i+1,1])
}
x<-sort(ex1222$Perot96)
y<-sort(ex1222$Gore2000)
z1 <- outer(x, y, function(a,b) betaHat0+betaHat1*a+betaHat2*b+betaHat3*a*b)
nrz <- nrow(z)
ncz <- ncol(z)
# Create a function interpolating colors in the range of specified colors
jet.colors <- colorRampPalette( c("blue", "red") )
# Generate the desired number of colors from this palette
nbcol <- 100
color <- jet.colors(nbcol)
# Compute the z-value at the facet centres
zfacet <- z[-1, -1] + z[-1, -ncz] + z[-nrz, -1] + z[-nrz, -ncz]
# Recode facet z-values into color indices
facetcol <- cut(zfacet, nbcol)
persp(x, y, z1, col=color[facetcol],theta=-30, lwd=.3,xlab="Perot 96", ylab="Gore 2000", zlab="Predicted Votes for Buchanan")
你好,
我正在尝试为上面的图着色。我在想我想要更高的“z”值,颜色更深的红色(或任何颜色)。
任何有关如何实现这一目标的帮助将不胜感激。
此外,您也可以随意提出不同的功能来实现这一点。
谢谢!
编辑....在查看 ?persp 上的示例后,我放置了我的新代码。我想更改颜色,但我对新情节的可读性不太满意
【问题讨论】:
-
?persp中的示例 4 标题为“对应于 z 值的表面颜色”,并演示了您所要求的内容。使其适应您自己的数据应该不会太难。 -
好建议。我会调查的。
-
查看了该示例。这是我想要的,但他们使用两种颜色。我想要一种颜色。
-
您可以尝试一些调色板,例如:
plot(1:20, pch=16, col=colorRampPalette(c("white", "blue"))(20), cex=3)plot(1:20, pch=16, col=colorRampPalette(blues9)(20), cex=3)。一旦你找到了你喜欢的,你可以将它加入到persp()电话中。 (colorRampPalette()一开始有点难以理解,因为它本身返回的是一个函数而不是调色板,但是一旦你掌握了它,它就会非常酷。)