Atölyemizin bu bölümünde, “bütünü oluşturan parçaları” ve bu parçaların kendi içindeki hiyerarşisini tek bir bakışta göstermenin en etkili yollarından biri olan Ağaç Haritalarını (Treemaps) oluşturmayı öğreneceğiz.
Ağaç Haritası nedir?
Bir ağaç haritasını, bir araziyi parsellere ayırmak gibi düşünebilirsiniz. Arazinin tamamı, bizim bütün veri setimizi temsil eder. Her bir parsel ise, verimizdeki bir kategoridir. Parselin alanı, o kategorinin bütün içindeki oranını veya büyüklüğünü gösterir.
Bu grafikler, özellikle şu gibi sorulara cevap vermek için mükemmeldir:
Her zamanki gibi, önce aletimizi tezgâhımıza yerleştirelim.
# Eğer yüklü değilse, bu komut ile paketi yükleyebilirsiniz.
install.packages("treemapify")
# Gerekli kütüphaneleri çağıralım
library(tidyverse)
library(treemapify)
treemapify paketinin en güzel yanlarından biri, içinde G20 adında hazır bir veri setiyle gelmesidir. Bu veri, G20 ülkelerinin ekonomik (GSYİH) ve nüfus bilgilerini içerir.
Haydi bu veriye bir göz atalım:
data(G20)
head(G20)
Şimdi, bu ülkelerin GSYİH’lerine (gdp_mil_usd) göre kapladıkları alanı gösteren basit bir ağaç haritası oluşturalım.
ggplot(G20,
aes(area = gdp_mil_usd,
fill = region,
label = country)) +
# 1. Katman: Renkli kutuları çiz
geom_treemap() +
# 2. Katman: 'label' estetiğini kullanarak metinleri çiz
geom_treemap_text()
Harika! Tek bir katmanla, anında ülkelerin ekonomik büyüklüklerini karşılaştırabileceğimiz bir görsel oluşturduk. ABD’nin, Çin’in ve Japonya’nın kapladığı alanın büyüklüğü hemen göze çarpıyor.
Bu grafiğin asıl gücü, hiyerarşiyi, yani alt grupları gösterebildiğinde ortaya çıkar. Ülkeleri kıtalara (region) göre gruplayarak görselimizi çok daha anlamlı hale getirebiliriz.
Bunun için aes() içine subgroup estetiğini ekleyeceğiz.
ggplot(G20,
aes(area = gdp_mil_usd,
fill = region,
label = country,
subgroup = region)) + # <- Ustalık dokunuşu burada!
# Temel katman
geom_treemap() +
# Alt grup kenarlıklarını çizelim
geom_treemap_subgroup_border(colour = "white", size = 5) +
# Alt grup etiketlerini (kıta isimlerini) ekleyelim
geom_treemap_subgroup_text(place = "centre",
grow = T,
alpha = 0.5,
colour = "black",
fontface = "italic",
min.size = 0) +
# Ülke etiketlerini daha okunaklı hale getirelim
geom_treemap_text(colour = "white",
place = "topleft",
reflow = T) +
# Lejantı kapatalım, çünkü renkler zaten grupları belirtiyor
theme(legend.position = "none") +
labs(
title = "G20 Ulkelerinin Ekonomik Buyuklukleri",
subtitle = "Alanlar GSYIH'yi, gruplar ise kitalari temsil etmektedir",
caption = "Veri Kaynagı: treemapify paketi"
)
İşte bu, tam bir “ustalık” eseri!
Neler yaptığımızı özetleyelim:
1.subgroup = region: Bu komutla treemapify’a, ülkeleri önce region sütununa göre bir araya getirmesini, sonra bu grupların içine ülkeleri GSYİH’lerine göre yerleştirmesini söyledik.
2.geom_treemap_subgroup_border(): Bu katman, kıta gruplarının etrafına kalın, beyaz bir çerçeve çizerek onları birbirinden net bir şekilde ayırdı.
3.geom_treemap_subgroup_text(): Her bir kıta grubunun ortasına, o kıtanın ismini soluk ve italik bir şekilde yazdırdık.
4.geom_treemap_text(): Ülke isimlerinin, dikdörtgenlerin sol üst köşesine, daha okunaklı bir şekilde ve kutuya sığacak şekilde yeniden akıtılarak (reflow = T) yazılmasını sağladık.
Artık bu grafik, sadece “hangi ülke ne kadar büyük?” sorusuna değil, aynı zamanda “Asya’daki en büyük ekonomi hangisi?” veya “Avrupa Birliği üyelerinin toplam ekonomik büyüklüğü Amerika kıtasına göre nasıl?” gibi çok daha karmaşık sorulara anında görsel cevaplar veriyor.
treemapify ile hiyerarşileri ve oranları nasıl etkili bir şekilde görselleştireceğimizi öğrendik. Şimdi atölyemizin bir sonraki tezgâhına, verilerimize coğrafi bir ruh katacağımız leaflet’e geçmeye hazırız.