Як затінити область у ggplot2 (з прикладами)


Ви можете використовувати такий базовий синтаксис, щоб затінити певну область на графіку в ggplot2:

 ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ')

Цей конкретний приклад заштрихує область між значеннями x 3 і 5 і значеннями y 3 і 7.

Аргумент fill керує кольором затіненої області, а аргумент alpha контролює прозорість кольору.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: затінити область у ggplot2

Припустімо, що ми маємо наступний кадр даних у R, який містить інформацію про набрані очки та підбирання, зібрані різними баскетболістами:

 #create data frame
df <- data. frame (points=c(3, 3, 5, 6, 7, 8, 9, 9, 8, 5),
                 rebounds=c(2, 6, 5, 5, 8, 5, 9, 9, 8, 6))

#view data frame
df

   rebound points
1 3 2
2 3 6
3 5 5
4 6 5
5 7 8
6 8 5
7 9 9
8 9 9
9 8 8
10 5 6

Ми можемо використати наступний код, щоб створити діаграму розсіювання та заштрихувати світло-червоним прямокутником область між значеннями x 3 і 5 і значеннями y 3 і 7:

 library (ggplot2)

#create scatter plot with shaded area
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ') 

сіра зона ggplot2

Область, яку ми вказали у функції annotate(), заштрихована світло-червоним прямокутником.

Зверніть увагу, що значення аргументу альфа коливається від 0 до 1, причому менші значення вказують на більшу прозорість.

Наприклад, якщо ми змінимо значення альфа на 0,5, колір заштрихованої області буде темнішим:

 library (ggplot2)

#create scatter plot with shaded area
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ') 

Також зауважте, що ви можете використовувати функцію annotate() кілька разів, щоб створити кілька затінених областей на вашому графіку:

 library (ggplot2)

#create scatter plot with two shaded areas
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ') 

кілька затінених областей у ggplot2

Не соромтеся грати з аргументами функції annotate() , щоб створити точне затінення, яке ви хочете на своєму графіку.

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

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як додати текст до графіків ggplot2
Як видалити лінії сітки в ggplot2
Як змінити мітки осі X у ggplot2

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

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