Analisis dengan R dan ggplot2: Membuat Grafik Scatterplot dan Menambahkan Fitur Tambahan

Analisis dengan R dan ggplot2: Membuat Grafik Scatterplot dan Menambahkan Fitur Tambahan

Dalam artikel ini, kita akan membahas cara membuat grafik scatterplot menggunakan R dan ggplot2. Selain itu, kita juga akan membahas cara menambahkan fitur tambahan seperti warna, bentuk, dan keterangan pada grafik.

Langkah 1: Membuat Dataframe

Pertama-tama, kita perlu membuat dataframe yang berisi data yang ingin kita analisis. Dalam contoh ini, kita menggunakan dataset "mtcars" yang dibundel dalam R.

library(ggplot2)
df <- mtcars[, c("wt", "mpg")]

Langkah 2: Membuat Grafik Scatterplot

Selanjutnya, kita membuat grafik scatterplot dengan menggunakan fungsi ggplot() dan geom_point(). Kita juga menentukan warna untuk setiap data point dengan menggunakan fitur "color".

scatterPlot <- ggplot(df,aes(x=wt, y=mpg, color="group")) + 
 geom_point() + 
 scale_color_manual(values = c("#999999", "#E69F00")) + 
 theme(legend.position=c(0,1), legend.justification=c(0,1))
scatterPlot

Langkah 3: Membuat Plot Marginal Density

Kita juga dapat membuat plot marginal density untuk menggambarkan distribusi data. Kita menggunakan fungsi ggplot() dan geom_density() untuk membuat plot ini.

xdensity <- ggplot(df, aes(x=wt, fill="group")) + 
 geom_density(alpha=.5) + 
 scale_fill_manual(values = c("#999999", "#E69F00")) + 
 theme(legend.position = "none")
xdensity

ydensity <- ggplot(df, aes(y=mpg, fill="group")) + 
 geom_density(alpha=.5) + 
 scale_fill_manual(values = c("#999999", "#E69F00")) + 
 theme(legend.position = "none")
ydensity

Langkah 4: Membuat Plot Blank

Kita dapat membuat plot blank untuk memudahkan penggunaan beberapa plot dalam satu halaman. Kita menggunakan fungsi ggplot() dan geom_blank() untuk membuat plot ini.

blankPlot <- ggplot()+geom_blank(aes(1,1))+
 theme(plot.background = element_blank(), 
 panel.grid.major = element_blank(),
 panel.grid.minor = element_blank(), 
 panel.border = element_blank(),
 panel.background = element_blank(),
 axis.title.x = element_blank(),
 axis.title.y = element_blank(),
 axis.text.x = element_blank(), 
 axis.text.y = element_blank(),
 axis.ticks = element_blank()
 )

Langkah 5: Menggabungkan Plot

Akhirnya, kita dapat menggabungkan beberapa plot dalam satu halaman dengan menggunakan paket "gridExtra". Kita menggunakan fungsi grid.arrange() untuk membuat plot ini.

library("gridExtra")
grid.arrange(xdensity, blankPlot, scatterPlot, ydensity, 
 ncol=2, nrow=2, widths=c(4, 1.4), heights=c(1.4, 4))

Membuat Grafik Scatterplot dengan Fitur Tambahan

Selain membuat grafik scatterplot dasar, kita juga dapat menambahkan fitur tambahan seperti warna dan bentuk. Berikut contoh membuat grafik scatterplot dengan fitur tambahan:

# Basic scatter plot
ggplot(mtcars, aes(x=wt, y=mpg)) + 
 geom_point()+
 geom_smooth(method=lm, color="black")+
 labs(title="Miles per gallon \n according to the weight",
 x="Weight (lb/1000)", y = "Miles/(US) gallon")+
 theme_classic() 

Mengubah Warna dan Bentuk

Kita dapat mengubah warna dan bentuk pada grafik dengan menggunakan fitur "color" dan "shape". Berikut contoh membuat grafik scatterplot dengan warna dan bentuk:

p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) + 
 geom_point()+
 geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
 labs(title="Miles per gallon \n according to the weight",
 x="Weight (lb/1000)", y = "Miles/(US) gallon")
p + theme_classic() 

Mengubah Warna

Kita dapat mengubah warna pada grafik dengan menggunakan fitur "scale_color_manual". Berikut contoh membuat grafik scatterplot dengan warna yang berbeda:

ggplot(mtcars, aes(x=wt, y=mpg)) + 
 geom_point()+
 scale_color_manual(values = c("#999999", "#E69F00")) +
 labs(title="Miles per gallon \n according to the weight",
 x="Weight (lb/1000)", y = "Miles/(US) gallon") +
 theme_classic()

Dalam artikel ini, kita telah membahas cara membuat grafik scatterplot dengan menggunakan R dan ggplot2. Selain itu, kita juga telah membahas cara menambahkan fitur tambahan seperti warna, bentuk, dan keterangan pada grafik.