Есть ли способ изменить интервал между элементами легенды в ggplot2? У меня сейчас есть
legend.position ="top"
который автоматически создает горизонтальную легенду. Тем не менее, элементы располагаются очень близко друг к другу, и мне интересно, как расположить их дальше друг от друга.
opts
уже обесценилось.Ответы:
ggplot2 v3.0.0
выпущенный в июле 2018 года, есть рабочие параметры, которые нужно изменитьlegend.spacing.x
,legend.spacing.y
иlegend.text
.Пример: увеличить горизонтальный интервал между клавишами легенды
Примечание. Если вы хотите расширить интервал только справа от текста легенды, используйте
stringr::str_pad()
Пример: переместите подписи клавиш легенды вниз и увеличьте интервал по вертикали.
Пример: для
scale_fill_xxx
&guide_colorbar
Для вертикальных легенд настройка
legend.key.size
увеличивает только размер клавиш легенды, а не вертикальное пространство между ними.Чтобы увеличить расстояние между клавишами легенды, необходимо изменить
legend-draw.r
функцию. См. Этот выпуск для получения дополнительной информацииисточник
Думаю, что лучше всего использовать
guide_legend
внутриguides
:Обратите внимание на использование
default.unit
, нет необходимости загрузкиgrid
пакета.источник
Простое исправление, которое я использую для добавления пробелов в горизонтальные легенды, просто добавляйте пробелы в метках (см. Отрывок ниже):
источник
scale_fill_manual(values=values, labels=setNames(paste(labels, " "), entries))
.Теперь, когда
opts
это не рекомендуется вggplot2
пакете,theme
вместо него следует использовать функцию :источник
Чтобы добавить интервал между записями в легенде, настройте поля элемента темы
legend.text
.Чтобы добавить 30pt места справа от каждой подписи легенды (может быть полезно для горизонтальной легенды):
Чтобы добавить 30pt места слева от каждой подписи (может быть полезно для вертикальной легенды):
для
ggplot2
объектаp
. Ключевые слова:legend.text
иmargin
.[Примечание об изменении: когда этот ответ был впервые опубликован, произошла ошибка. Ошибка исправлена]
источник
Похоже, лучший подход (в 2018 году) - использовать
legend.key.size
подtheme
объектом. (например, см. здесь ).Это очень просто, если вы используете
theme_bw()
:Однако в противном случае это работает не так хорошо (например, если вам нужен серый фон на вашем символе легенды):
Обратите внимание, что белые квадраты начинают блокировать заголовок легенды (и, в конечном итоге, сам график, если мы продолжаем увеличивать значение).
Я не совсем нашел способ решения вышеуказанной проблемы ... Дайте мне знать в комментариях, если у вас есть идея, и я соответствующим образом обновлю!
$layers
...источник
legend.key
прозрачное:theme(legend.key = element_rect(size = 30,color=alpha("transparent",0)))
Из работы Кошке над ggplot2 и его блога (блог Кошке )
Введите
theme_get()
в консоли, чтобы увидеть другие редактируемые атрибуты легенды.источник
Используйте любой из этих
источник