Як змінити відстань між елементами легенди в ggplot2


Щоб змінити відстань між елементами легенди в ggplot2, можна використати такі методи:

Спосіб 1: змініть горизонтальний інтервал

 p+
  theme(legend. spacing . x = unit(1, ' cm '))

Спосіб 2: змініть вертикальний інтервал

 p+
  theme(legend. spacing . y = unit(1, ' cm ')) +
  guides(fill = guide_legend(byrow = TRUE ))

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з таким кадром даних:

 #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

Приклад 1: Зміна горизонтального інтервалу між елементами легенди

Наступний код показує, як створити точкову діаграму в ggplot2 з горизонтальною легендою з інтервалом за замовчуванням:

 library (ggplot2)

#create scatterplot with default spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. position = ' bottom ')

Щоб збільшити горизонтальний відстань між елементами легенди, ми можемо використати аргумент legend.spacing.x :

 library (ggplot2)

#create scatterplot with increased horizontal spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. position = ' bottom ',
        legend. spacing . x = unit(1, ' cm ')) 

ggplot2 збільшив горизонтальний відстань між елементами легенди

Зауважте, що горизонтальний відстань між елементами легенди збільшився.

Чим більше значення ви використовуєте у функції unit() , тим більший відстань між елементами.

Приклад 2: Зміна вертикального інтервалу між елементами підпису

Наступний код показує, як створити діаграму розсіювання в ggplot2 з вертикальною легендою з інтервалом за замовчуванням:

 library (ggplot2)

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

Щоб збільшити вертикальний відстань між елементами легенди, ми можемо використати аргумент legend.spacing.y :

 library (ggplot2)

#create scatterplot with increased vertical spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. spacing . y = unit(1, ' cm ')) +
  guides(fill = guide_legend(byrow = TRUE )) 

ggplot2 збільшує вертикальний відстань між елементами легенди

Зауважте, що вертикальний відстань між елементами легенди збільшився.

Чим більше значення ви використовуєте у функції unit() , тим більший відстань між елементами.

Примітка : ви повинні включити останній рядок, який використовує аргумент byrow = TRUE , інакше елементи легенди не будуть розподілені належним чином.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в ggplot2:

Як змінити назву легенди в ggplot2
Як змінити розмір легенди в ggplot2
Як змінити положення легенди в ggplot2

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *