Как изменить заголовок легенды и положение в решетке участка

голоса
1

Я использую lsmipот lsmeans построить свою модель,

 library(lsmeans)

 PhWs1 <- lsmip(GausNugget1, Photoperiod:Ws ~ Month, 
                ylab = Observed log(number of leaves), xlab = Month,
                main = Interaction between Photoperiod and Water stress over the months (3 photoperiods),
                par.settings = list(fontsize = list(text = 15, points = 10)))

но я не был в состоянии получить предложение в Интернете о том , как справиться с позицией легенды, размер, название и т.д. , я использовал , trellis.par.get()чтобы увидеть параметры , но я не мог найти тот , связанный с моей проблемой. Как видно из графика, легенда должна быть «фотопериода * Ws» , но Ws не видно.

введите

Задан 09/03/2016 в 14:07
источник пользователем
На других языках...                            


1 ответов

голоса
3

Я вижу две возможности , дополняющих альтернатив подойти к этому вопросу. Первым было бы создать полностью настроить легенду и передать его в keyаргументе xyplot(который lsmipв значительной степени на основе). Вот пример , взятый из ?lsmipпрояснить мою точку зрения.

## default trellis point theme
trellis_points <- trellis.par.get("superpose.symbol")

## create customized key
key <- list(title = "Some legend title",                  # legend title
            cex.title = 1.2, 
            x = .7, y = .9,                               # legend position
            points = list(col = trellis_points$col[1:2],  # points
                          pch = trellis_points$pch[1:2],  
                          cex = 1.5),                     
            text = list(c("A", "B"), cex = .9))          # text

## create results and extract lattice plot
d <- lsmip(warp.lm, wool ~ tension, plotit = FALSE,
           main = "Some figure title", key = key)

p <- attr(d, "lattice")
p

lsmip

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

Теперь, если у вас есть длинный заголовок легенды , и вы не хотите включать в легенду внутри области печати, можно также определить отдельные видовые, таким образом , позволяя экспликацию занимать больше места на правом крае. Обратите внимание на использование , updateчтобы удалить первоначально созданную легенду из pи последующей сборки отдельных компонентов с использованием рисунка сетки функциональности.

## remove legend from figure
p <- update(p, legend = NULL)

## assemble figure incl. legend 
library(grid)

png("plot.png", width = 14, height = 10, units = "cm", res = 300)
grid.newpage()

## add figure without legend
vp0 <- viewport(x = 0, y = 0, width = .75, height = 1, 
                just = c("left", "bottom"))
pushViewport(vp0)
print(p, newpage = FALSE)

## add legend
upViewport(0)
vp1 <- viewport(x = .7, y = 0, width = .3, height = 1, 
                just = c("left", "bottom"))
pushViewport(vp1)
draw.key(key, draw = TRUE)
dev.off()

lsmip2

Ответил 21/03/2016 в 10:25
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more