ggplot2 legend : Простые шаги для изменения положения и внешнего вида легенды графика в программном обеспечении R — Easy Guides — Wiki
- Данные
- Пример графика
- Изменить положение легенды
- Изменить заголовок легенды и стили шрифта текста
- Изменить цвет фона поля легенды
- Изменить порядок элементов легенды
- Удалить легенду сюжета
- Удалить косые черты в легенде гистограммы
- guides() : установить или удалить легенду для определенной эстетики
- График по умолчанию без спецификации направляющей
- Изменить положение легенды для нескольких направляющих
- Изменить порядок нескольких направляющих
- Удалить легенду для определенной эстетики
- Информация
Цель этого руководства R — описать, как изменить легенду графика, сгенерированного с помощью пакета ggplot2 .
Связанная книга:
GGPlot2 Essentials для отличной визуализации данных в R
Данные о росте зубов используются в примерах ниже:
# Преобразование переменной дозы из числовой в факторную переменную ToothGrowth$dose
## лен супп доза ## 1 4,2 ВК 0,5 ## 2 11,5 ВК 0,5 ## 3 7,3 ВК 0,5 ## 4 5,8 ВК 0,5 ## 5 6,4 ВК 0,5 ## 6 10.0 VC 0.5
Убедитесь, что переменная доза преобразована как факторная переменная с помощью приведенного выше R-скрипта.
библиотека (ggplot2) p
Положение легенды можно изменить с помощью функции theme() следующим образом:
p + theme(legend.position="top") p + theme(legend.position="bottom")
Допустимые значения для аргументов legend.position : «слева», «сверху», «справа», «снизу».
Обратите внимание, что аргумент legend.position также может быть числовым вектором c(x,y).
В этом случае можно расположить легенду внутри области построения. x и y — координаты поля легенды. Их значения должны быть между 0 и 1. c(0,0) соответствует «нижнему левому» положению, а c(1,1) соответствует «верхнему правому» положению.p + theme(legend.position = c(0.8, 0.2))
# название легенды p + тема (legend.title = element_text (цвет = "синий", размер = 10, лицо = "жирный")) # ярлыки легенды p + тема (легенда.текст = element_text (цвет = "синий", размер = 10, face="bold"))
# цвет фона поля легенды p + тема (легенда. фон = element_rect (заполнение = "голубой", размер = 0,5, тип линии = "сплошной")) p + тема (легенда. фон = element_rect (заполнение = "голубой", размер = 0,5, тип линии = "сплошной", цвет = "темно-синий"))
Чтобы изменить порядок элементов на «2», «0,5», «1»:
p + scale_x_discrete(limits=c("2", "0,5", "1"))
# Удалить только заголовок легенды p + тема (legend. title = element_blank()) # Удалить легенду сюжета p + theme(legend.position='none')
# График по умолчанию ggplot(data=ToothGrowth, aes(x=доза, fill=доза)) + geom_bar() # Изменить цвет границы гистограммы, # но в легенде добавляются косые черты ggplot(data=ToothGrowth, aes(x=доза, fill=доза)) + geom_bar (цвет = "черный") # Скрыть косые черты: №1. построить столбцы без цвета границы, № 2. снова постройте столбцы с цветом границы, но с пустой легендой. ggplot(data=ToothGrowth, aes(x=доза, fill=доза))+ геом_бар() + geom_bar(color="black", show_guide=FALSE)
Можно использовать функцию guides() для установки или удаления легенды определенной эстетики (заполнение, цвет, размер, форма и т. д.).
используются наборы данных mtcars :
# Подготовьте данные : преобразуйте цилиндр и шестерню в переменные фактора mtcars$cyl
## mpg cyl disp hp drat wt qsec vs am gear carb ## Mazda RX4 21,0 6 160 110 3,90 2,620 16,46 0 1 4 4 ## Mazda RX4 Ваг 21,0 6 160 110 3,90 2,875 17,02 0 1 4 4 ## Датсун 710 22,8 4 108 93 3,85 2,320 18,61 1 1 4 1 ## Хорнет 4 Драйв 21,4 6 258 110 3,08 3,215 19,44 1 0 3 1 ## Hornet Sportabout 18,7 8 360 175 3,15 3,440 17,02 0 0 3 2 ## Valiant 18. 1 6 225 105 2.76 3.460 20.22 1 0 3 1
График по умолчанию без спецификации направляющей
Приведенный ниже код R создает график рассеяния. Цвет и форма точек определяются факторными переменными cyl и gear соответственно. Размер точек контролируется переменной qsec.
p
Изменить положение легенды для нескольких направляющих
# Изменить положение легенды p +theme(legend.position="bottom")
# Поле горизонтальной легенды p +theme(legend.position="bottom", legend.box = "horizontal")
Изменить порядок нескольких направляющих
Функция guide_legend() используется:
p+guides(color = guide_legend (порядок = 1), размер = guide_legend (порядок = 2), форма = направляющая_легенда (порядок = 3))
Если используется непрерывный цвет , порядок цветовой шкалы можно изменить с помощью функции guide_colourbar() = шоссе,
цвет = цилиндр, форма = привод) +
направляющие (цвет = направляющая_цветная полоса (порядок = 1),
альфа = направляющая_легенда (порядок = 2),
size = guide_legend(order = 3)) Приведенный ниже код R удаляет легенду для цвета и размера эстетики: Удалить конкретную легенду можно также при использовании функций scale_xx . В этом случае аргумент guide используется следующим образом: Понравилась эта статья? Я был бы очень признателен, если бы вы помогли его распространению, отправив его по электронной почте другу или поделившись им в Twitter, Facebook или Linked In. Подарите мне немного любви с помощью кнопок «Нравится» ниже… Спасибо и, пожалуйста, не забудьте поделиться и прокомментировать ниже! Avez vous aimé c этой статьей? Je vous serais très reconnaissant si vous aidiez à sa диффузия en l’envoyant par courriel à un ami ou en le partageant sur Twitter, Facebook или Linked In. Montrez-moi un peu d’amour avec les like ci-dessous . Удалить легенду для определенной эстетики
p+guides(color = FALSE, size = FALSE)
# Удалить легенду для формы точки
p+scale_shape(guide=FALSE)
# Удалить легенду для размера
p +scale_size(guide=FALSE)
# Удалить легенду для цвета
p + scale_color_manual (значения = c («# 999999», «# E69F00», «# 56B4E9»),
руководство=ЛОЖЬ)
Software Carpentry: Программирование среднего уровня с помощью R
Настройка внешнего вида графика с помощью тем
Цели обучения
- Добавить заголовок и метки осей к графику
- Используйте темы для изменения внешнего вида сюжета
- Изменить положение легенды
Мы научились преобразовывать наши данные в визуализацию с помощью ggplot2. Тем не менее, мы не потратили много времени на настройку внешнего вида сюжета. Неудивительно, что ggplot2 также предлагает эти возможности.
Маркировка графика
Мы можем добавить заголовок и метки осей, используя функцию ggplot2 labs
(для меток). Давайте изменим график, созданный нами на прошлом уроке, который показывал среднее количество твитов статей в журнале.
tweets_point <- ggplot(tweets_per_journal, aes(x = журнал, y = среднее)) + геометрическая_точка() + geom_errorbar(aes(ymin = среднее - sem, ymax = среднее + sem), ширина = 0,1) + geom_text (aes (метка = число), hjust = 0, vjust = 0) + labs(title = "Количество твитов статей в журнале", x = "Журнал PLOS", y = "Среднее количество твитов (+/- SEM)") tweets_point
Использование встроенных тем
По умолчанию вся графика ggplot2 имеет серый фон с белыми линиями сетки. Это известно как theme_gray()
, но мы можем легко изменить это, если у нас есть другие предпочтения. Есть несколько других встроенных тем, которые можно применить, добавив их на график.
tweets_point + theme_minimal() # Минимальная тема
tweets_point + theme_bw() # Черно-белая тема
tweets_point + theme_classic() # Классическая тема
Если мы планируем создать несколько графиков, которым нужна одна и та же тема, мы можем использовать
, чтобы они автоматически применялись ко всем графикам.
theme_set (theme_bw()) tweets_point
Изменение легенды
Теоретически любой аспект сюжета можно изменить. Но запоминать, как управлять каждой особенностью сюжета, не стоит усилий. Это может быть довольно сложно, и вам, скорее всего, потребуется внести лишь несколько изменений. Поскольку ggplot2 очень популярен, существует множество онлайн-ресурсов, объясняющих, как выполнять определенные задачи.
Здесь мы покажем некоторые распространенные модификации легенды. Мы будем использовать наш график цитирований в 2011 году по сравнению с загрузками PDF.
p <- ggplot(исследование, aes(x = log10(pdfDownloadsCount + 1), у = log10(wosCountThru2011 + 1))) + geom_point (aes (цвет = журнал)) + geom_smooth() + scale_x_continuous (разрывы = c (1, 3), метки = c (10, 1000)) + scale_y_continuous (разрывы = c (1, 3), метки = c (10, 1000)) p
geom_smooth: method="auto" и размер наибольшей группы >=1000, поэтому используется gam с формулой: y ~ s(x, bs = "cs"). Используйте «method = x», чтобы изменить метод сглаживания.
По умолчанию легенда размещается справа от графика. Мы можем контролировать это, используя аргумент legend.position
для темы . Мы можем использовать ключевое слово, такое как «слева», «справа», «сверху» или «снизу».
p + theme(legend.position = "top")
geom_smooth: method="auto" и размер наибольшей группы >=1000, поэтому использование gam с формулой: y ~ s(x, bs = "cs" ). Используйте «method = x», чтобы изменить метод сглаживания.
Мы можем указать положение центра легенды относительно всего графика, где (0, 0) — нижний левый угол, а (1, 1) — верхний правый.
p + theme(legend.position = c(0.25, 0.75))
geom_smooth: method="auto" и размер наибольшей группы >=1000, поэтому использование gam с формулой: y ~ s(x, bs = "кс"). Используйте «method = x», чтобы изменить метод сглаживания.
Или мы можем удалить легенду.
p + theme(legend.position = "none")
geom_smooth: method="auto" и размер наибольшей группы >=1000, поэтому использование gam с формулой: y ~ s(x, bs = "cs" ). Используйте «method = x», чтобы изменить метод сглаживания.
Наконец, мы можем сохранить легенду, но удалить только заголовок легенды, задав аргументу legend.title
значение element_blank
.
p + theme(legend.title = element_blank())
geom_smooth: method="auto" и размер самой большой группы >=1000, поэтому использование gam с формулой: y ~ s(x, bs = "cs" ).