2015-02-05 5 views
1

Вот мой код.Как получить отдельную шкалу z для нескольких уровней уровней (решетка)

attach(mtcars) 
levelplot(mpg ~ wt * hp|gear, data = mtcars,labels=FALSE ,scales=list(relation="free")) 

В результате этого участка. enter image description here

Я хотел бы знать, как (1) добавить локальный г Colorbar для каждого levelplots и (2) как сделать название каждого levelplot показывает, как шестерни 4, шестерни 3 и шестерни 5, а не только «шестерни». Желаемый результат - это что-то вроде этого следующего рисунка (цветная панель здесь вырезана и вставляется так, что это не локальный диапазон, как это должно быть). Я проверил помощь и посмотрел онлайн, но не смог найти решение. Desired plot

ответ

1

Поскольку mtcars$gear имеет класса "numeric", вы сюжет использует «черепицу» стиль полосы, связанный с числовым переменным кондиционированием. Похоже, вы предпочли бы, чтобы номер передачи рассматривался как категориальная переменная, поэтому вы должны преобразовать его в "factor" до его кондиционирования.

Вот что я хотел бы сделать:

gearFac <- factor(mtcars$gear, levels=3:5, labels=paste0("gear", 3:5)) 
levelplot(mpg ~ wt * hp|gearFac, data = mtcars, 
      labels = FALSE, scales = list(relation="free")) 

enter image description here

+0

Это прекрасно работает на вопрос (2)! – chengvt

+0

@chengvt - Ах, я пропустил этот первый вопрос. К сожалению, у меня не будет времени ответить на этот вопрос сейчас или на несколько дней. Я почти уверен, что ** функции построения решетки ** имеют ** ** ** поддержку для нескольких цветных баров. Поэтому мое подозрение состоит в том, что самым простым решением будет создание трех отдельных графиков (по одному для каждого уровня передачи), а затем организовать их вручную, используя (например) 'gridExtra :: grid.arrange()'. Удачи! –

+0

Получил это с помощью ** gridExtra ** package! – chengvt

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