Добавить метки на график уровня

Я создаю график уровней из матрицы. У меня есть другая матрица, тех же размеров, что и первая, с метками. Я хотел бы добавить метки к графику - квадрат, отображающий цвет для значения, также должен отображать метку. Есть ли способ сделать это? Заранее спасибо.

В качестве примера приведем следующий код. Я хотел бы, чтобы каждая метка в матрице source отображалась поверх той части графика, которая соответствует тем же данным в матрице value с теми же координатами.

library(lattice)

value <- matrix(data=2^seq(from=0.5,to=2,length.out=9),ncol=3,nrow=3)

colnames(value)<-c("wheat","barley","rice")

rownames(value)<-c("1970","1980","1990")

source <- matrix(data=c("A","A","B","A","B","C","C","B","C"),ncol=3,nrow=3)

levelplot(value,xlab="year",ylab="comodity",main="some plot")

person user2345448    schedule 02.02.2015    source источник
comment
Предоставьте воспроизводимый пример и то, что вы имеете в виду, добавляя этикетки. Вы имеете в виду ярлыки contourplot? Что-то другое?   -  person    schedule 02.02.2015


Ответы (1)


Вот одна возможность:

library(lattice)
library(latticeExtra)

dat <- data.frame(expand.grid(x = c(1970, 1980, 1990), y = c("wheat","barley","rice")), 
              value = 2^seq(from=0.5,to=2,length.out=9), source = c("A","A","B","A","B","C","C","B","C"))

Obj <- 
  levelplot(value ~ x+y, data = dat, xlab = "year", ylab = "comodity", main = "some plot") + 
  xyplot(y ~ x, data = dat,
   panel = function(y, x, ...) {
           ltext(x = x, y = y, labels = dat$source, cex = 1, font = 2,
           fontfamily = "HersheySans")
   })

print(Obj)

введите описание изображения здесь

person Community    schedule 02.02.2015