Как изменить метки осей фасетов в ggplot2


Вы можете использовать функцию as_labeller() для изменения меток осей фасетов в ggplot2:

 ggplot(df, aes(x, y)) + 
  geom_point() +
  facet_wrap(.~group,
             strip. position = ' left ', 
             labeller = as_labeller(c(A=' new1 ', B=' new2 ', C=' new3 ', D=' new4 '))) +
  ylab(NULL) +
  theme(strip. background = element_blank(),
        strip. placement ='outside')

Этот конкретный пример заменяет следующие старые метки:

  • АВСD

со следующими новыми этикетками:

  • новое1, новое2, новое3, новое4

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: редактирование меток осей фасетов в ggplot2

Предположим, у нас есть следующий кадр данных в R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team points assists
1 to 8 10
2 to 14 5
3 B 20 5
4 B 22 3
5 C 25 8
6 C 29 6
7 D 30 9
8 D 31 12

В следующем коде показано, как использовать facet_wrap() для создания сетки, отображающей диаграмму рассеяния передач и очков для каждой команды:

 library (ggplot2)

#create multiple scatter plots using facet_wrap
ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_wrap(.~team, nrow= 4 )

В настоящее время фасеты имеют следующие метки: A, B, C, D.

Однако мы можем использовать следующий код, чтобы изменить метки на «Команда A», «Команда B», «Команда C» и «Команда D»:

 library (ggplot2)

#create multiple scatter plots using facet_wrap with custom facet labels
ggplot(df, aes(assists, points)) + 
  geom_point() +
  facet_wrap(.~team, nrow= 4 ,
             strip. position = ' left ', 
             labeller = as_labeller(c(A=' team A ',
                                      B=' team B ',
                                      C=' team C ',
                                      D=' team D '))) +
  ylab(NULL) +
  theme(strip. background = element_blank(),
        strip. placement = ' outside ')

ggplot2 меняет метки осей фасетов

Обратите внимание, что метки фасетов были изменены на «Команда A», «Команда B», «Команда C» и «Команда D» и перемещены в левую часть графика.

Примечание . Аргумент Strip.background удаляет серый фон позади меток фасетов, а аргумент Strip.placement указывает, что метки должны располагаться за пределами делений оси.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:

Как изменить порядок фасетов в ggplot2
Как изменить размер шрифта в ggplot2
Как повернуть метки осей в ggplot2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *