Как добавить метки к верхней оси X графика уровней в пакете Lattice

Итак, я делаю графики, похожие на корреляционную матрицу, используя график уровня, подобный этому (взято из: Нанесите матрицу корреляции на график):

library(lattice)

#Build the horizontal and vertical axis information
hor <- c("214", "215", "216", "224", "211", "212", "213", "223", "226", "225")
ver <- paste("DM1-", hor, sep="")

#Build the fake correlation matrix
nrowcol <- length(ver)
cor <- matrix(runif(nrowcol*nrowcol, min=0.4), nrow=nrowcol, ncol=nrowcol, dimnames = list(hor, ver))
for (i in 1:nrowcol) cor[i,i] = 1

#Build the plot
rgb.palette <- colorRampPalette(c("blue", "yellow"), space = "rgb")
levelplot(cor, main="stage 12-14 array correlation matrix", xlab="", ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01))

Я хотел бы добавить метки к каждому из верхних (вторых) отметок оси X. Кто-нибудь знает, как это сделать?

Спасибо,

Кай


person foxandsticks    schedule 17.04.2017    source источник


Ответы (1)


Вы можете сделать это, добавив scales=list(alternating=3) к вашему вызову levelplot

Если вы ищете справку для levelplot, для получения некоторой информации вас отсылают к xyplot (и другим). На странице справки xyplot вы найдете описание scales, а в нем alternating. Чередование управляет расположением галочек и может принимать 4 значения:

  • 0 (нет),
  • 1 (внизу/слева),
  • 2 (вверху/справа),
  • 3 (оба).

Вот вызов levelplot, который дает вам тики со всех сторон:

levelplot(cor, main="stage 12-14 array correlation matrix", xlab="", ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01), scales=list(alternating=3))
person KoenV    schedule 18.04.2017
comment
Спасибо! Это решение продублировало мою основную ось X на вторичной оси X. На самом деле я хотел бы отобразить другой набор меток на вторичной оси x. Это возможно? - person foxandsticks; 19.04.2017
comment
@foxandsticks С удовольствием! Что касается вашего последнего вопроса, мне нужно его изучить, а сегодня у меня нет времени. Я предлагаю вам открыть новый вопрос с данными и кодом, а также с описанием того, что вы уже обнаружили/решили (например, выше). Таким образом, вы можете привлечь внимание других людей. Я поддержу ваш новый вопрос, когда увижу, что он проходит. Удачи! - person KoenV; 20.04.2017
comment
Большое спасибо @KoenV! Здесь были опубликованы новые вопросы: " title="добавить разные метки к вторичной оси x графика уровня в решетке в r"> stackoverflow.com/questions/43526149/ - person foxandsticks; 20.04.2017