我在spplot(adehabitatHR包)中的颜色条(或颜色渐变调色板)有问题。我想使用spplot在同一个窗口中绘制两个图形,我还希望两个图形的颜色条具有相同的比例(两个图形只有一个条形图)。如果那是不可能的 - 或者太复杂,因为我是R语言的新手 - 我想在两个图形的条形图中设置相同数量的刻度线。我已经设置了这个,但是它们在颜色条中处于不同的位置 - 如果我在条形图的最低值处有至少一个刻度线,一个在中间,而另一个在最高的valeu中则更有意义。但是当我使用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)
先谢谢你们,