Як малювати стрілки в ggplot2 (з прикладами)


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

 library (ggplot2)

ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( 0.5 , ' cm ')))

Ось що робить кожен аргумент у функції geom_segment() :

  • x : значення x для початку
  • y : значення y для початку
  • xend : значення x для закінчення
  • yend : значення y для закінчення
  • стріла : довжина вістря стріли

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

Приклад: малювання стрілок у ggplot2

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

 #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

Ми можемо використати такий синтаксис, щоб створити точкову діаграму в ggplot2 і додати стрілку в певне місце на діаграмі:

 library (ggplot2)

#create scatterplot and add arrow
ggplot(df, aes(x=points, y=rebounds)) +
  geom_point() +
  geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( .5 , ' cm '))) 

намалюйте стрілку в ggplot2

Ви можете змінити значення у функції arrow() , щоб збільшити або зменшити розмір вістря стрілки.

Наприклад, наступний код показує, як збільшити розмір:

 library (ggplot2)

#create scatterplot and add arrow with increased arrow head size
ggplot(df, aes(x=points, y=rebounds)) +
  geom_point() +
  geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( 2 , ' cm '))) 

Ви також можете використовувати аргументи color і lwd , щоб змінити колір і ширину лінії стрілки відповідно:

 library (ggplot2)

#create scatterplot and add customized arrow
ggplot(df, aes(x=points, y=rebounds)) +
  geom_point() +
  geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( .5 , ' cm ')),
               color=' red ', lwd= 3 ) 

Не соромтеся грати з різними аргументами функції geom_segment() , щоб створити стрілку, яка виглядає саме так, як вам потрібно.

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

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

Як видалити лінії сітки в ggplot2
Як затінити область у ggplot2
Як змінити мітки осі X у ggplot2

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

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