xlabel и ylabel для аспекта - PullRequest
       21

xlabel и ylabel для аспекта

2 голосов
/ 27 сентября 2011

Я делаю так:

ggplot(IDPlotLn, aes(x=CO3, y=CRf)) + 
  xlab(xlabel) + 
  ylab(ylabel)  +
  opts(
      axis.text.x = theme_text(size=10, face="plain", colour="black",vjust=1), 
      axis.text.y = theme_text(size=10, face="plain", colour="black", hjust=1)) +
  scale_y_continuous(limits = c(-1.3 , 1.3), expand = c(0,0)) + 
  opts(panel.margin=unit(1, "cm")) +
  geom_point() + 
  geom_smooth(method="lm",se=F) + 
  facet_wrap(~ ID, nrow=7, ncol=3, scales = "free") +
  opts(strip.text.x = theme_text(size = 8))

Я хочу построить Xlabel и ylabel для каждого из моих аспектов, одного и того же xlabel и ylabel. Таким образом, у меня есть только один xlabel и ylabel для всего аспекта.

Возможно ли это?


Спасибо за ваш ответ, я не знал gridExtra.

Но в этом примере я огранен и просто хочу сделать его более красивым, это тот же самый xlabel и ylabel, который я хочу добавить для каждой панели. Потому что после я хочу выбрать несколько панелей из всех моих панелей, поэтому было бы хорошо, если у меня уже есть метки x и y.

1 Ответ

2 голосов
/ 27 сентября 2011

Если вы пытаетесь использовать разные метки для осей X и Y, когда фасетирование , то правильный ответ - вы, вероятно, не должны использовать фасеты.Весь смысл огранки заключается в том, что каждая панель разделяет одинаковые оси x и y.Так что, если вы помечаете их по-разному, скорее всего, вы неправильно используете огранку.

Вместо этого вы, вероятно, захотите просто нарисовать каждую панель отдельно, а затем расположить их в виде сетки.Это можно легко сделать в ggplot2 с помощью пакета gridExtra:

dat <- data.frame(x = rep(1:5,3),
        y = rnorm(15),
        z = rep(letters[1:3],each = 5))

dat <- split(dat,dat$z)

p1 <- ggplot(dat[[1]],aes(x=x,y=y)) + 
        geom_point() + 
        labs(x = 'xlabel1',y='ylabel1')

p2 <- ggplot(dat[[2]],aes(x=x,y=y)) + 
        geom_point() + 
        labs(x = 'xlabel2',y='ylabel2')

p3 <- ggplot(dat[[3]],aes(x=x,y=y)) + 
        geom_point() + 
        labs(x = 'xlabel3',y='ylabel3')

library(gridExtra)
grid.arrange(p1,p2,p3)]

enter image description here

См. ?grid.arrange для дополнительных примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...