【问题标题】:Adjusting Legend to Plot Spatial object in R (package sp)调整图例以在 R 中绘制空间对象(包 sp)
【发布时间】:2016-01-20 09:35:12
【问题描述】:

我在 R 中使用包 sp。我正在使用 spplot 函数在两个空间对象中绘制两个变量。我想要的是使两个图中的图例相同,以便我可以比较它们。例如,使用以下代码,我希望两个图具有相同的图例,范围从 5(红色)到 40(蓝色)。这是为了比较这两个地块。这是代码和情节。

library(sp)
data(meuse)
data(meuse.grid)
coordinates(meuse) <- c("x", "y")
coordinates(meuse.grid) <- c("x", "y")
gridded(meuse.grid) <- TRUE
col=colorRampPalette(c("red","blue"))(30)
meuse.grid@data$var.1=sample(11:40,length(meuse.grid@data[,1]),replace=TRUE)
meuse.grid@data$var.2=sample(5:30,length(meuse.grid@data[,1]),replace=TRUE)

p1=spplot(meuse.grid, "var.1", col.regions=col)
p2=spplot(meuse.grid, "var.2", col.regions=col)
print(p1, position = c(0,.5,.5,1),more=T)
print(p2, position = c(.5,.5,1,1),more=F)

【问题讨论】:

  • 真的,转载同样的尺度有点傻;按照ggplot2::facet_wrap/facet_grid 的方式做一些事情会更有意义。
  • 有时需要...相信我的话...在 stats.stackexchange 上将我的声誉与您自己比较 :)
  • 为什么?获得相同的调色板后,您将在一个比较图中打印两次相同的东西。与其说是统计数据,不如说是设计的简洁问题。
  • 嗯......我把它们放在一起只是为了让我的问题更清楚......但如果你想要它们分开......在两张不同的幻灯片演示中说并想要比较它们...... . 然后你需要它们在相同的规模上......试着超越你刚刚看到的东西。
  • 所以我的建议对你有用吗?

标签: r plot spatial


【解决方案1】:

试试这样的:

p1=spplot(meuse.grid, "var.1", col.regions=col, colorkey=list(at=seq(5, 30, 5), labels=as.character(seq(5, 30, 5))))
p2=spplot(meuse.grid, "var.2", col.regions=col, colorkey=list(at=seq(5, 30, 5), labels=as.character(seq(5, 30, 5))))
print(p1, position = c(0,.5,.5,1),more=T)
print(p2, position = c(.5,.5,1,1),more=F)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-02
    • 2016-08-14
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多