我在心脏形状中产生随机点的细分,我很难弄清楚如何控制图中像素的颜色。我认为plot(tess)
(在这个例子中)产生了一个图像值图,我可以通过在颜色渐变中指定相同数量的颜色来控制它们,但事实并非如此。
library(spatstat)
t <- seq(from = 2*pi, to = 0.001, length.out = 1500)
x <- 16*sin(t)**3
y <- 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t) #heart equation taken from wolfram http://mathworld.wolfram.com/HeartCurve.html.
heart_win <- owin(poly = cbind(x,y)) #note - not self enclosed
#random sample of points within heart
points <- rpoint(100, win = heart_win)
tess <- dirichlet(points)
plot(tess, main = ' ')
#color for 100 values
norm_palette <- colorRampPalette(c("white","red"))
plot(tess, main = ' ', col=norm_palette(100), valuesAreColours = FALSE)
下面生成此图片:
是的我是那个不会让他的妻子成为情人节礼物的人(不要评判我)!
答案 0 :(得分:2)
即使我没有送礼物给我的妻子,我今天也不会送礼物,你可以试试这个:
plot(tess$image,col=norm_palette(100))
答案 1 :(得分:2)
您没有在tess对象中调用生成的图像。只需将你的情节调用改为:
plot(tess$image, main="", col=colorRampPalette(c("white","red"))(tess$n), valuesAreColours=FALSE)