Truyền thuyết spplot raster: làm thế nào để thêm một tiêu đề bên cạnh nó


8

Sau khi nghiên cứu một lúc về cách tạo biểu đồ từ một đối tượng raster, tôi đã có hầu hết mọi thứ tôi cần ngoại trừ thêm một tiêu đề vào huyền thoại của spplot.

Những gì tôi đã cố gắng:

  1. để sử dụng mtext("XXX (m)", side=4),
  2. để thêm một sp.textlưới bên ngoài,
  3. để sử dụng legend.args = list(title="XXX (m)").

Hình ảnh chính xác bên dưới, tính năng tôi đã thêm thủ công vào cốt truyện của mình và trong đó tôi muốn đưa vào sử dụng R.

nhập mô tả hình ảnh ở đây

Đây là một ví dụ, về những gì tôi đã nhận được cho đến nay:

require(raster)
require(sp)
require(lattice)

north <- list("SpatialPolygonsRescale", layout.north.arrow(type=1), offset = c(0.95,0.85), scale=0.1)
scale <- list("SpatialPolygonsRescale", layout.scale.bar(),
      offset = c(0.55, 0.03), scale = 0.4, fill = c("transparent","black"))
txt1 <- list("sp.text", c(0.55, 0.08), "0")
txt2 <- list("sp.text", c(0.75, 0.08), "0.2")
txt3 <- list("sp.text", c(0.95, 0.08), "0.4")
raster_layout <- list(north,scale,txt1,txt2,txt3)
cuts <- c(110,120,130,140,150,160,170,180,190,200)
spplot(raster(volcano), scales = list(draw=T), at=cuts, col.regions = palette(gray(seq(0,0.9,len=9))), sp.layout= raster_layout, add=T)  

Cảm ơn bạn đã giúp đỡ.

Câu trả lời:


10

Bạn không thể sử dụng mtextở đây, vì spplotdựa trên gói mạng . mtextchỉ có thể được sử dụng với đồ họa cơ sở.

R> p <- spplot(raster(volcano), scales = list(draw=T), at=cuts,
+              col.regions = palette(gray(seq(0,0.9,len=9))),
+              sp.layout= raster_layout, add=T)
R> class(p)
[1] "trellis"  # -> lattice package

Các latticelàm cho gói sử dụng các gridcông cụ đồ họa, mà là một hệ thống đồ họa ở mức độ thấp cho R. Cả hai gói là một phần của sự phân bố cơ sở R.

Để thêm nhãn văn bản ở vị trí tùy ý, bạn có thể sử dụng chức năng grid.text, ví dụ:

library("grid")
grid.text("XXX (m)", x=unit(0.95, "npc"), y=unit(0.50, "npc"), rot=-90)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.