Как создать легенду в ggplot2 из нескольких строк


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

 ggplot(df, aes(x=x_var, y=y_var, color=group_var)) +
geom_point() +
  guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

Значение аргумента nrow указывает количество строк, используемых в легенде.

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

Пример: создайте легенду в ggplot2 из нескольких строк.

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers', 'Suns', 'Cavs'),
                 points=c(24, 20, 34, 39, 28, 29),
                 assists=c(5, 7, 6, 9, 12, 13))

#view data frame
df

    team points assists
1 Mavs 24 5
2 Heat 20 7
3 Nets 34 6
4 Lakers 39 9
5 Suns 28 12
6 Cavs 29 13

Если мы создадим диаграмму рассеяния в ggplot2 без указания количества строк, которые будут использоваться в легенде, ggplot2 по умолчанию разместит метку на каждой строке:

 library (ggplot2)

#create default scatterplot
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 )

Чтобы создать легенду из нескольких строк, нам нужно использовать функциюguides() с аргументом nrow :

 library (ggplot2)

#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

Обратите внимание, что легенда теперь состоит из двух строк.

Если мы также хотим изменить расположение легенды, мы можем использовать функцию theme() с аргументом Legend.position :

 library (ggplot2)

#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. position = ' bottom ') +
  guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

Легенда теперь расположена внизу графика и состоит из двух строк.

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

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

Как изменить заголовок легенды в ggplot2
Как изменить размер легенды в ggplot2
Как изменить положение легенды в ggplot2

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

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