Визуализация кластеров с использованием Hull Plots в ggplot2 с использованием ggforce
Графики HULL также известны как сгруппированные графики рассеяния, потому что эти графики используются для разделения графиков рассеяния на основе кластеров. Графики Халла гораздо полезнее, когда нужно визуализировать кластеры, присутствующие среди данных. Графики Халла в R можно построить с помощью функции geom_mark_hull(), которая присутствует в пакете ggforce.
Синтаксис метода geom_mark_hull()
Syntax: geom_mark_hull(mapping,data,concavity,radius,position)
Where,
- mapping – set of aesthetic mappings created by aes() function
- data – The data frame to be displayed
- concavity – used to set the cancaveity of thehull
- radius – used to specify corner radius
- position – used to adjust the position.
Шаги для визуализации кластеров с использованием Hull Plot
Шаг 1: Во-первых, нам нужно установить необходимые пакеты (ggplot2, ggforce) и загрузить их.
R
# Insrall Required Packages install.packages ( "ggplot2" ) install.packages ( "ggforce" ) # Load the installed Packages library (ggplot2) library (ggforce) |
Шаг 2: Затем нам нужно построить базовую диаграмму рассеяния, используя функцию ggplot() в пакете ggplo2.
R
# Load the default dataset (iris) data (iris) # Plotting the scatter plot using ggplot2 package fig1<-ggplot2:: ggplot (aes (Sepal.Length,Sepal.Width), data=iris)+ geom_point () print (fig1) |
Выход:
Шаг 3: Позже мы добавим корпуса (кластеры) к этому точечному графику, используя функцию geom_mark_hull() в пакете ggforce.
R
# Load the default dataset (iris) data (iris) # Plotting the scatter plot using ggplot2 package fig1<-ggplot2:: ggplot ( aes (Sepal.Length,Sepal.Width),data=iris)+ geom_point () # Plotting the Hull Plot using gggforce package fig2 <- fig1 + ggforce::geom_mark_hull ( aes (fill=Species,label=Species), concavity=2) print (fig2) |
Выход:
Шаг 4: Мы также можем настроить график корпуса в R, используя функцию labs() пакета ggforce, чтобы добавить метки к графику, а с помощью expand_limits() мы можем расширить пределы значений осей x и y, которые необходимо учитывать для построения графика. график.
R
# Load the default dataset (iris) data (iris) # Plotting the scatter plot using ggplot2 package fig1<-ggplot2:: ggplot (aes (Sepal.Length,Sepal.Width),data=iris)+ geom_point () # Plotting the Hull Plot using gggforce package fig2 <- fig1 + ggforce:: geom_mark_hull (aes (fill=Species,label=Species),concavity=2) # Customized Hull Plot fig3 <- fig2 + ggforce::geom_mark_hull ( aes (fill=Species,label=Species),concavity=2)+ expand_limits (x=8.5,y=5.0)+ labs (title= "Customized Hull Plot using R" , subtitle = "Iris Dataset" , x= "Sepal Length" ,y= "Sepal Width" ) print (fig3) |
Выход: