0

我在 spplot(adehabitatHR 包)中的颜色条(或颜色渐变调色板)有问题。我想使用 spplot 在同一个窗口中绘制两个图表,并且我还希望两个图表的颜色条具有相同的比例(两个图表只有一个条形)。如果这不可能——或者太复杂,因为我是 R 语言的新手——我想在两个图表的栏中设置相同数量的刻度线。我已经设置了这个,但它们在颜色条中的不同位置 - 如果我在条的最低值处至少有一个刻度线,在中间有一个刻度线,而在最高值处有另一个刻度线会更有意义。但是当我使用colorkey=list(tick.number=3)参数时,它不允许我选择我想要刻度线的位置。我怎样才能做到这一点?

这是我的代码的一部分。

####loading packages....
library("adehabitatHR")
library(latticeExtra)
###... and data
area.total.mari<- read.table("mari.total.txt")
area.total.mari2<- SpatialPoints(area.total.mari)
area.total.mari.mpc=mcp(area.total.mari2)
dry.mari<- read.table("pontos meses seca.txt")
dry.mari1<- SpatialPoints(dry.mari)
dry.mari1.mpc=mcp(dry.mari1)

###color used in the graphs
mycolor2=gray(16:0/16)

##generating kernels and spplot's
ks<-kernelUD(seca.mari1, grid=300, extent=0.2)
ps<-spplot(ks, col.regions=mycolor2,colorkey=list(tick.number=3),
    scales=list(draw=T))+
    layer(sp.polygons(area.total.mari.mpc))

kc<-kernelUD(chuva.mari1, grid=300, extent=0.35)
pc<-spplot(kc,col.regions=mycolor2,colorkey=list(tick.number=3),
    scales=list(draw=T)))+
    layer(sp.polygons(area.total.mari.mpc))

###printing graphs
######## Tick marks are messed up :/
print(ps, position=c(0,0,.5,1),more=T)
print(pc, position=c(0.5,0,1,1))

这是使用此代码生成的图表: https ://www.flickr.com/photos/129526227@N02/16316924041/

请注意刻度线的问题:最低值(“0”)是可以的,但我不能将另一个值放在最高值!

这是“meuse”数据集的示例:

library(sp) 
library(lattice)
library(adehabitatHR)
library(latticeExtra)
data(meuse) 
coordenadas<-data.frame(meuse$x,meuse$y)
attach(coordenadas)
coord.sp.pt<- SpatialPoints(coordenadas)
coord.sp.pt.mpc=mcp(coord.sp.pt)
mycolor=gray(0:12/12)
coord.sp.ud<-kernelUD(coord.sp.pt, grid=300, extent=0.1)
coord.printing<-spplot(coord.sp.ud, col.regions=colorRampPalette(c("white","gray","black"))
        ,colorkey=list(tick.number=2),scales=list(draw=T))+
    layer(sp.polygons(coord.sp.pt.mpc))
print(coord.printing)

先谢谢各位

4

0 回答 0