ggplot2 adalah salah satu package dalam bahasa pemrograman R yang sangat populer untuk membuat visualisasi data. Dengan ggplot2, pengguna dapat menghasilkan grafik yang estetis, informatif, dan fleksibel untuk berbagai keperluan analisis data. Paket ini didasarkan pada konsep “The Grammar of Graphics”, yang memungkinkan pengguna untuk membangun grafik secara modular dengan menggabungkan elemen-elemen visual.
Salah satu keunggulan utama ggplot2 adalah kemudahan penggunaannya, bahkan untuk pemula. Struktur sintaksisnya yang konsisten membuat proses pembuatan grafik menjadi sederhana, mulai dari scatter plot (diagram sebar) hingga grafik kompleks seperti heatmap. Selain itu, ggplot2 mendukung berbagai jenis grafik, seperti diagram batang, grafik garis, histogram, dan box plot, yang semuanya dapat disesuaikan dengan kebutuhan analisis.
ggplot2 juga menawarkan kemampuan untuk memecah data menjadi subset dan menampilkan setiap subset dalam grafik terpisah melalui fitur yang disebut faceting. Kemampuan ini sangat bermanfaat ketika ingin membandingkan pola atau tren dalam kategori data yang berbeda. Dengan kombinasi fleksibilitas, estetika, dan kekuatan analisis, ggplot2 adalah alat yang tak tergantikan untuk siapa saja yang bekerja dengan data
Untuk memahami cara kerja ggplot2, penting untuk mengetahui beberapa elemen dasarnya. Berikut adalah komponen utama dalam ggplot2:
Data adalah elemen pertama dan paling penting dalam ggplot2. Data harus disusun dalam bentuk data frame, di mana setiap kolom mewakili variabel, dan setiap baris adalah observasi. ggplot2 membaca data ini untuk membuat grafik.
Aesthetic mapping menghubungkan variabel dalam data ke elemen visual dalam grafik, seperti sumbu X dan Y, warna, ukuran, atau bentuk. Mapping ini dilakukan melalui fungsi aes() yang digunakan untuk menentukan bagaimana data akan divisualisasikan.
Geometri menentukan jenis grafik yang akan digunakan, seperti:
geom_point: Untuk scatter plot (diagram sebar).
geom_line: Untuk grafik garis.
geom_bar: Untuk diagram batang.
geom_histogram: Untuk histogram.
Geometri adalah lapisan utama yang membuat data terlihat di grafik.
ggplot2 menyediakan berbagai tema untuk mengatur tampilan grafik. Tema dapat digunakan untuk mengubah elemen seperti latar belakang, grid, dan font. Beberapa tema populer adalah
theme_minimal()
theme_classic()
theme_dark()
Faceting adalah fitur yang memungkinkan Anda membagi data menjadi subset dan menampilkan subset tersebut dalam grafik terpisah. Ini berguna untuk membandingkan pola atau tren dalam kategori data yang berbeda. Dua jenis faceting adalah:
facet_wrap(): Membagi data berdasarkan satu variabel.
facet_grid(): Membagi data berdasarkan dua variabel.
#muat library gglot2
library(ggplot2)
data <- data.frame(x = rnorm(100), y= rnorm(50))
ggplot(data, aes(x = x,y = y))+
geom_point()+
labs(title = "point titik", x = "sumbu x", y = "sumbu y")+
theme_classic()
data <- data.frame(x = rnorm(100),y=rnorm(100), grup = sample (c("A", "B", "C", "D"), 100,replace = TRUE))
ggplot(data, aes(x = x, y = y, color = grup))+
geom_point() +
facet_wrap(~grup)+
scale_color_manual(values = c("A" = "blue", "B" = "red", "C" = "yellow", "D" = "black"))+
theme_dark()+
labs(title = "plot titik dengan warna berdasarkan grup",
x= "nilai x",
y= "nilai y",
color = "grup")
library(readr)
lizard <- read.csv("lizards.csv")
View(lizard)
library(ggplot2)
ggplot(lizard, aes(x = total_length, y = weight))+
geom_point(color = "blue",shape = 8)
labs(title = "plot titik",x = "total_length", y = "weight")+
theme_classic()
## NULL
library(ggplot2)
ggplot(lizard, aes(x = total_length, y = weight, color = common_name)) +
geom_point(shape = 8,size = 2) +
labs(title = "Plot Titik", x = "Total Length", y = "Weight") +
theme_classic()
ggplot(lizard,aes(x=total_length, y=common_name))+
geom_jitter()+
labs (title="plot titik-titik lizard",x="total_length",y="common_name")
ggplot(lizard,aes(x=total_length, y=common_name))+
geom_line()+
labs (title="plot line lizard",x="total_length",y="common_name")
ggplot(lizard,aes(x=total_length))+
geom_histogram()+
labs (title="plot histogram lizard",x="total_length")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
ggplot(lizard,aes( y=common_name))+
geom_bar()+
labs (title="plot bar lizard",y="common_name")
ggplot(lizard,aes(x=weight))+
geom_histogram(color = "blue",size = 2,shape = 16,fill = "magenta",linetype ="dotted")+
labs (title="dinding lizard",x="weight",y = "count")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning in geom_histogram(color = "blue", size = 2, shape = 16, fill =
## "magenta", : Ignoring unknown parameters: `shape`
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Read data adalah proses membaca atau mengimpor data dari sumber external (seperti file atau database) ke dalam R untuk dianalisis. Data ini bisa berupa file spreadsheet, teks, CSV, JSON, atau bahkan database. Proses ini penting karena analisis data hanya bisa dilakukan setelah data berhasil dimasukkan ke dalam R.
CSV adalah format yang paling umum digunakan untuk menyimpan data. Setiap baris dalam file mewakili satu observasi, dan setiap nilai dipisahkan oleh tanda koma.
Data yang disimpan dalam file Excel sering digunakan dalam pekerjaan administratif atau akademik. File ini mendukung beberapa lembar kerja (worksheet).
File teks biasanya digunakan untuk data dengan pemisah khusus, seperti tab atau spasi.
Format ini sering digunakan untuk data yang berasal dari API atau aplikasi berbasis web.
Jika data disimpan dalam database, Anda bisa mengaksesnya langsung dari R dengan koneksi ke database tersebut.
R juga memungkinkan Anda membaca data langsung dari internet, seperti file CSV atau JSON yang tersedia melalui URL.
library(gapminder)
library(ggplot2)
library(gganimate)
## No renderer backend detected. gganimate will default to writing frames to separate files
## Consider installing:
## - the `gifski` package for gif output
## - the `av` package for video output
## and restarting the R session
data=gapminder
data
ggplot(data, aes(x = gdpPercap, y = lifeExp)) + geom_point(shape = 6, color = "blue")+
labs (title = "gapminder", x = "GDP", y = "Life experiency")
gapminder_plot <- ggplot(
gapminder,
aes(x = gdpPercap, y = lifeExp)
)+
geom_point(alpha= 0.6)+
scale_x_log10()+
labs(x = "GDP per kapita", y = "Life experiency")
gapminder_plot
gapminder_plot <- ggplot(
gapminder,
aes(x = gdpPercap, y = lifeExp,size = pop,color = continent)
)+
geom_point(alpha= 0.6)+
scale_x_log10()+
scale_color_viridis_d(option = "inferno")+
labs(x = "GDP per kapita", y = "Life experiency")
gapminder_plot