Як малювати стрілки в 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 ')))
Ви можете змінити значення у функції 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