BaşlayınÜcretsiz Başlayın

Grafiği katmanlarla oluşturma

Artık tmap() hakkında biraz daha şey bildiğine göre, önceki nüfus grafiğini katmanlar halinde oluşturalım ve iyileştirmek için birkaç küçük dokunuş yapalım. Önce kullanmak istediğin veriyi tanımlayan bir tm_shape() katmanı ile başla, sonra çokgenleri population değişkenini kullanarak renklendirmek için bir tm_fill() katmanı ekle:

tm_shape(countries_spdf) +
  tm_fill(col = "population") 

Ortaya çıkan grafikteki en büyük sorun muhtemelen çok bilgilendirici olmayan renk ölçeği: ilk renk (en soluk sarı), nüfusu 200 milyonun altında olan tüm ülkeleri kapsıyor! Renk ölçeği tm_fill() katmanıyla ilişkili olduğundan, bu ölçeğe yapılacak ayarlar bu çağrı içinde yapılır. Renk hakkında 3. Bölümde çok daha fazlasını öğreneceksin, ama şimdilik bilmen gereken şu: style argümanı, eşiklerin nasıl seçileceğini kontrol eder.

Grafiğinin ayrıca ülke sınırlarına da ihtiyacı var. Bunun için bir tm_borders() katmanı ekleyebilirsin, ama görsel olarak çok baskın olmasınlar. Belki kahverengi tonları hoş durur.

Mekansal nesneler kullanmanın faydası, oluşturduğun grafik türünü değiştirdiğinde gerçekten ortaya çıkar. Nüfusa karşılık gelen balon boyutlarıyla bir balon grafiği de deneyelim. ggplot2 kullansaydın, bu verilerini epey yeniden şekillendirmeyi gerektirirdi. tmap ile sadece bir katmanı değiştirmen yeterli.

Bu egzersiz

R ile Coğrafi Verileri Görselleştirme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • tm_fill() içine style = "quantile" ekle. Bu, renk ölçeğindeki eşikleri her aralıkta eşit sayıda gözleme göre seçer.
  • Aynı grafiğe, col = "burlywood4" ile bir tm_borders() katmanı ekle.
  • İlk grafiğin aynısını oluştur, ancak tm_fill() yerine size'ı nüfusa eşleyecek bir tm_bubbles() katmanı ekle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

library(sp)
library(tmap)

# Add style argument to the tm_fill() call
tm_shape(countries_spdf) +
  tm_fill(col = "population") +
  # Add a tm_borders() layer 
  

# New plot, with tm_bubbles() instead of tm_fill()
Kodu Düzenle ve Çalıştır