如何在hexbinplot中添加另一个图?

时间:2016-04-16 22:44:48

标签: r graphics lattice trellis

我正试图在另一块地块上绘制焚化炉的位置。

# The first plot
hexbinplot(Easting~Northing | Bclass4, 
    BIRTH_NO68, las=1, scales =list(x = list(log = 10, equispaced.log = FALSE)), 
    aspect = 1, bins=50, style="nested.lattice", 
    main="Spatial distribution of birthweights by quartile")
# The second plot
ppp=xyplot(173098~319444, data=BIRTH_NO68, pch=17, cex=15, col="Black")
# Together
hexbinplot(Easting~Northing | Bclass4, BIRTH_NO68, las=1, 
    scales = list(x = list(log = 10, equispaced.log = FALSE)), aspect = 1, 
    bins=50, style="nested.lattice", 
    main="Spatial distribution of birthweights by quartile") + pop

所有出现的都是第一个情节。这是map I'm trying to mark the location of an incinerator on

1 个答案:

答案 0 :(得分:1)

latticeExtra 查看as.layer,可以轻松组合单个点阵图。以下是基于?hexbinplot中提供的第一个示例的示例代码。

library(hexbin)
library(latticeExtra)

## example taken from ?hexbinplot
mixdata <- data.frame(x = c(rnorm(5000),rnorm(5000,4,1.5)),
                      y = c(rnorm(5000),rnorm(5000,2,3)),
                      a = gl(2, 5000))

p1 <- hexbinplot(y ~ x, mixdata, aspect = 1,
                 trans = sqrt, inv = function(x) x^2)

## add points plot to existing hexbinplot
p2 <- xyplot(2.5 ~ 3.5, pch = 24, cex = 3, 
             col = "white", fill = "darkred", lwd = 2)

p1 + as.layer(p2)

enter image description here

请注意,您也可以一次完成此任务,而无需使用 latticeExtra ,只需在panel内定义两个不同的hexbinplot函数,即

hexbinplot(y ~ x, mixdata, aspect = 1,
                 trans = sqrt, inv = function(x) x^2, 
                 panel = function(...) {
                   panel.hexbinplot(...)
                   panel.xyplot(3.5, 2.5, pch = 24, cex = 3, 
                                col = "white", fill = "darkred")
                 })