2015-11-06 1 views
1

Следующий фрагмент кода создает сетчатую точку, точно так же, как мне бы хотелось, но я хотел бы автоматически добавлять опорные строки к четырем панелям. Я попытался найти примеры кода, которые позволят мне это сделать, но пока не повезло. Может ли кто-нибудь предложить простое исправление?Как добавить опорные строки в решетчатые точки в R в пакете решетки

dotplot(region ~ productivity | los, 
panel = panel.superpose, 
group = month, 
between = list(x=1, y=0), 
index.cond = list(c(4,2,1,3)), 
pch = 1:4, col = 1:4, 
main = "Monthly Productivity by LoS by Region", 
xlab = "Percent", 
aspect = 1, 
key = list(space = "right", 
    transparent = TRUE, 
    points = list(pch = 1:4, 
    col = 1:4), 
    text = list(c("Jul", "Aug", "Sep", "Oct")))) 

Спасибо,

Майк

+0

Функции 'layer' и' panel.abline' из 'latticeExtra'. –

ответ

1

Зависит от того, где вы хотели бы иметь эталонные линии. Если вам нужно разместить их самостоятельно, используйте panel.refline(). (Это в основном обертка для panel.abline(), заменив стандартные стилистики этой функции с них более подходящими для базовых линий.)

xyplot(mpg ~ disp, data = mtcars, 
     panel = function(x,y,...){ 
      panel.refline(h = c(15,17)) 
      panel.xyplot(x,y,...) 
     }) 

enter image description here

В качестве альтернативы, если вы просто хочет сетку базовых линий а-ля ggplot, то type= аргумент предлагает простой способ получить один:

xyplot(mpg ~ disp, data = mtcars, type = c("g", "p")) ## "g"rid and "p"oints 

enter image description here

+0

Это было неловко легко. Огромное спасибо. Кроме того, в результате обнаружения аргумента «type» я также обнаружил, что «grid = TRUE» делает то же самое. –

+0

@ MikeO'Connor Ах, хорошая находка, и спасибо, что упомянули об этом. Приветствия. –

Смежные вопросы