ggplot2 - Grafik Divergen
Pada bab sebelumnya, kita telah melihat berbagai jenis grafik yang dapat dibuat menggunakan paket “ggplot2”. Kami sekarang akan fokus pada variasi yang sama seperti grafik batang divergen, grafik lollipop dan banyak lagi. Untuk memulainya, kita akan mulai dengan membuat diagram batang divergen dan langkah-langkah yang harus diikuti disebutkan di bawah ini -
Memahami dataset
Muat paket yang diperlukan dan buat kolom baru bernama 'nama mobil' dalam kumpulan data mpg.
#Load ggplot
> library(ggplot2)
> # create new column for car names
> mtcars$`car name` <- rownames(mtcars)
> # compute normalized mpg
> mtcars$mpg_z <- round((mtcars$mpg - mean(mtcars$mpg))/sd(mtcars$mpg), 2)
> # above / below avg flag
> mtcars$mpg_type <- ifelse(mtcars$mpg_z < 0, "below", "above")
> # sort
> mtcars <- mtcars[order(mtcars$mpg_z), ]
Perhitungan di atas melibatkan pembuatan kolom baru untuk nama mobil, menghitung dataset yang dinormalisasi dengan bantuan fungsi round. Kita juga bisa menggunakan flag avg di atas dan di bawah untuk mendapatkan nilai fungsionalitas "type". Nanti, kami mengurutkan nilai untuk membuat dataset yang diperlukan.
Output yang diterima adalah sebagai berikut -
Ubah nilai menjadi faktor untuk mempertahankan urutan yang diurutkan dalam plot tertentu seperti yang disebutkan di bawah ini -
> # convert to factor to retain sorted order in plot.
> mtcars$`car name` <- factor(mtcars$`car name`, levels = mtcars$`car name`)
Output yang diperoleh disebutkan di bawah ini -
Bagan Batang Divergen
Sekarang buat diagram batang divergen dengan atribut yang disebutkan yang diambil sebagai koordinat yang diperlukan.
> # Diverging Barcharts
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_bar(stat='identity', aes(fill=mpg_type), width=.5) +
+ scale_fill_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ labs(subtitle="Normalised mileage from 'mtcars'",
+ title= "Diverging Bars") +
+ coord_flip()
Note - Tanda diagram batang divergen untuk beberapa anggota dimensi yang mengarah ke atas atau ke bawah sehubungan dengan nilai yang disebutkan.
Output dari diagram batang divergen disebutkan di bawah ini di mana kami menggunakan fungsi geom_bar untuk membuat diagram batang -
Bagan Lollipop yang Menyimpang
Buat bagan lollipop divergen dengan atribut dan koordinat yang sama dengan hanya perubahan fungsi yang akan digunakan, yaitu geom_segment () yang membantu dalam membuat bagan lollipop.
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', fill="black", size=6) +
+ geom_segment(aes(y = 0,
+ x = `car name`,
+ yend = mpg_z,
+ xend = `car name`),
+ color = "black") +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Lollipop Chart",
+ subtitle="Normalized mileage from 'mtcars': Lollipop") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
Dot Plot Divergen
Buat plot titik divergen dengan cara yang sama di mana titik-titik tersebut mewakili titik-titik dalam plot yang tersebar dalam dimensi yang lebih besar.
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', aes(col=mpg_type), size=6) +
+ scale_color_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Dot Plot",
+ subtitle="Normalized mileage from 'mtcars': Dotplot") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
Di sini, legenda mewakili nilai "Di Atas Rata-Rata" dan "Di Bawah Rata-Rata" dengan warna hijau dan merah yang berbeda. Dot plot menyampaikan informasi statis. Prinsipnya sama dengan prinsip pada diagram batang Divergen, kecuali hanya titik yang digunakan.