Добавить метки на уровень
Я делаю план уровня из матрицы. У меня есть другая матрица того же размера, что и первая, с метками. Я хотел бы добавить метки к графику - квадрат, отображающий цвет для значения, должен также показывать метку. Есть способ сделать это? Заранее спасибо.
В качестве примера приведем следующий код. Мне бы хотелось, чтобы каждая метка в матричном источнике отображалась в верхней части части графика, соответствующей тем же данным в матричном значении с теми же координатами.
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")
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)