Temata position: TEMATA, Tug — Details and current position — MMSI 512319000

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 удаляет легенду для цвета и размера эстетики:

 p+guides(color = FALSE, size = FALSE) 

Удалить конкретную легенду можно также при использовании функций scale_xx . В этом случае аргумент

guide используется следующим образом:

 # Удалить легенду для формы точки
p+scale_shape(guide=FALSE)
# Удалить легенду для размера
p +scale_size(guide=FALSE)
# Удалить легенду для цвета
p + scale_color_manual (значения = c («# 999999», «# E69F00», «# 56B4E9»),
                       руководство=ЛОЖЬ) 


Понравилась эта статья? Я был бы очень признателен, если бы вы помогли его распространению, отправив его по электронной почте другу или поделившись им в 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 .

.. Merci et n’oubliez pas, s’il vous plaît, de partager et de commenter ci-dessous!



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_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" ).

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

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