ggplot2 - Farklı Grafikler
Önceki bölümlerde, "ggplot2" paketi kullanılarak oluşturulabilen çeşitli grafik türlerine göz attık. Şimdi farklı çubuk grafikler, lolipop grafikler ve çok daha fazlası gibi aynı varyasyona odaklanacağız. Başlangıç olarak, farklı çubuk grafikler oluşturmaya başlayacağız ve izlenecek adımlar aşağıda belirtilmiştir -
Veri kümesini anlama
Gerekli paketi yükleyin ve mpg veri kümesinde 'araba adı' adlı yeni bir sütun oluşturun.
#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), ]
Yukarıdaki hesaplama, araba isimleri için yeni bir sütun oluşturmayı, normalleştirilmiş veri setini yuvarlak fonksiyon yardımıyla hesaplamayı içerir. "Tür" işlevselliğinin değerlerini elde etmek için avg işaretinin yukarısını ve aşağısını da kullanabiliriz. Daha sonra, gerekli veri setini oluşturmak için değerleri sıralarız.
Alınan çıktı aşağıdaki gibidir -
Aşağıda belirtildiği gibi belirli bir grafikte sıralı sırayı korumak için değerleri faktöre dönüştürün -
> # convert to factor to retain sorted order in plot.
> mtcars$`car name` <- factor(mtcars$`car name`, levels = mtcars$`car name`)
Elde edilen çıktı aşağıda belirtilmiştir -
Farklı Çubuk Grafik
Şimdi, gerekli koordinatlar olarak alınan belirtilen özelliklere sahip farklı bir çubuk grafik oluşturun.
> # 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 - Bahsedilen değerlere göre yukarı veya aşağı yönü gösteren bazı boyut üyeleri için farklı bir çubuk grafik işaretler.
Farklı çubuk grafiğin çıktısı, bir çubuk grafik oluşturmak için geom_bar fonksiyonunu kullandığımız yerde aşağıda belirtilmiştir -
Farklı Lolipop Grafiği
Yalnızca kullanılacak işlev değişikliğiyle aynı özniteliklere ve koordinatlara sahip farklı bir lolipop grafiği oluşturun, örn. Lolipop grafiklerinin oluşturulmasına yardımcı olan geom_segment ().
> 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()
Uzaklaşan Nokta Grafiği
Noktaların daha büyük boyuttaki dağınık grafiklerdeki noktaları temsil ettiği benzer şekilde uzaklaşan bir nokta grafiği oluşturun.
> 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()
Burada, göstergeler "Ortalamanın Üzerinde" ve "Ortalamanın Altında" değerlerini farklı yeşil ve kırmızı renklerle temsil eder. Nokta grafiği statik bilgileri iletir. Prensipler, yalnızca noktanın kullanılması dışında Uzaklaşan çubuk grafiğindekilerle aynıdır.