spe*_*ndo 5 graphics r lattice
我恐怕再次有一个spplot()问题.
我希望我的spplot()中的颜色代表绝对值,而不是spplot默认情况下的自动值.
我通过从我想要绘制的变量中取出一个因子来实现这一点(使用命令cut()).这很好用,但颜色键看起来并不好看.
自己看看:
library(sp)
data(meuse.grid)
gridded(meuse.grid) = ~x+y
meuse.grid$random <- rnorm(nrow(meuse.grid), 7, 2)
meuse.grid$random[meuse.grid$random < 0] <- 0
meuse.grid$random[meuse.grid$random > 10] <- 10
# making a factor out of meuse.grid$ random to have absolute values plotted
meuse.grid$random <- cut(meuse.grid$random, seq(0, 10, 0.1))
spplot(meuse.grid, c("random"), col.regions = rainbow(100, start = 4/6, end = 1))
Run Code Online (Sandbox Code Playgroud)
我怎样才能让color.key看起来很好看 - 我希望有更少的刻度和更少的标签(也许只有一个标签在color.key的每个极端)
先感谢您!
[编辑] 用绝对值来表达我的意思:想象一下我想要显示海拔高度的地图.Seaheight = 0(最小值)应始终显示为蓝色.Seaheight = 10(仅为示例,最大值)应始终显示为红色.即使地图上显示的区域没有海洋,也不应改变.我在我的示例中使用cut()命令实现了这一点.所以这部分工作正常.
这就是我的问题是 什么我不喜欢的是右侧的颜色描述.有100个刻度,每个刻度都有一个标签.我想要更少的刻度和更少的标签.
要走的路是使用属性colorkey.例如:
## labels
labelat = c(1, 2, 3, 4, 5)
labeltext = c("one", "two", "three", "four", "five")
## plot
spplot(meuse.grid,
c("random"),
col.regions = rainbow(100, start = 4/6, end = 1),
colorkey = list(
labels=list(
at = labelat,
labels = labeltext
)
)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8491 次 |
| 最近记录: |