Як затінити область у 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 ')
Область, яку ми вказали у функції 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 ')
Не соромтеся грати з аргументами функції annotate() , щоб створити точне затінення, яке ви хочете на своєму графіку.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як додати текст до графіків ggplot2
Як видалити лінії сітки в ggplot2
Як змінити мітки осі X у ggplot2