2016-04-16 3 views
1

Я пытаюсь построить местоположение мусоросжигательного завода на другом участке.Как добавить еще один график в hexbinplot?

# 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.

+0

Я надеваю Не знаю, было ли это сложнее, если нужно, чтобы место для мусоросжигателя было показано на всех 4 участках? –

+0

, пожалуйста, перечислите используемый вами пакет для функции 'hexbinplot'. Он не является частью базы R. R имеет два процесса для создания фигур: базовая графика и сетка. Если используемый вами пакет использует базовую графику, добавьте 'par (mfrow = c (1, 2))' над вашим первым графом для одной строки, двух столбцов или столбцов, или 'par (mfrow = c (2, 1)) 'для двухстрочной панели с одним столбцом. См. '? Par' для большого количества параметров графического отображения, которые вы можете настроить. Для фигур «grid» это немного больше. – lmo

+0

пакет hexbin, это помогает? –

ответ

1

Посмотрите as.layer от latticeExtra, который позволяет легко комбинировать одиночные решетки участков. Вот пример кода, основанного на первом примере, приведенном в ?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") 
       }) 
Смежные вопросы