R中raster包plot()函数生成单色图像

3

我希望使用plot函数获得单色图像。但它一直生成彩色图像。我甚至使用plot函数绘制了单色图像,但它们变成了一些奇怪的绿色和橙色。如何使plot函数提供单色图像?我尝试阅读getValues函数的相关内容,但由于我不是图像分析背景,发现它很难理解。似乎getBlocks()函数返回单色图像。但是否有办法只使用plot函数获取单色图像?

library(raster)
r <- raster(matrix(runif(100), 10))
plot(r)
#even below lines produce a yellow color image. i thought that they will produce a black or white square
r <- raster(matrix(rep(0,100), 10))
plot(r)

您生成的图像是单色的,因为它仅包含黄色。您可能意思是灰度图像。 - jbaums
你的评论很有道理。谢谢。 - user2543622
1个回答

8

如果你正在寻找灰度向量的颜色,可以在plot()中使用col参数的gray.scale()函数:

library(raster)
r <- raster(matrix(rnorm(100), 10))
plot(r, col = gray.colors(10, start = 0.3, end = 0.9, gamma = 2.2, alpha = NULL))

你从plot()函数中获取到绿色的颜色是因为默认情况下col参数使用了绿色。
rev(terrain.colors(255)) 

有什么办法可以将我的图像以原始颜色绘制出来(而不是绿色和黄色)? - user2543622

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接