Как создать легенду в 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