Membangun plot secara bertahap (layer)
Sekarang setelah Anda lebih mengenal tmap(), mari kita bangun kembali plot jumlah penduduk sebelumnya secara bertahap dan lakukan beberapa penyesuaian untuk meningkatkannya. Anda memulai dengan lapisan tm_shape() yang menentukan data yang akan digunakan, lalu menambahkan lapisan tm_fill() untuk mewarnai poligon menggunakan variabel population:
tm_shape(countries_spdf) +
tm_fill(col = "population")
Kemungkinan masalah terbesar pada plot yang dihasilkan adalah skala warnanya kurang informatif: warna pertama (kuning paling pucat) mencakup semua negara dengan penduduk kurang dari 200 juta! Karena skala warna terkait dengan lapisan tm_fill(), penyesuaian skala ini dilakukan pada pemanggilan tersebut. Anda akan mempelajari lebih banyak tentang warna di Bab 3, tetapi untuk saat ini, ketahuilah bahwa argumen style mengontrol bagaimana batas kelas (breaks) dipilih.
Plot Anda juga memerlukan garis batas negara. Anda dapat menambahkan lapisan tm_borders() untuk ini, tetapi jangan sampai terlalu mencolok. Mungkin warna cokelat akan terlihat bagus.
Manfaat menggunakan objek spasial menjadi sangat jelas ketika Anda mengganti jenis plot yang dibuat. Mari kita coba juga plot gelembung (bubble) di mana ukuran gelembung merepresentasikan jumlah penduduk. Jika Anda menggunakan ggplot2, ini akan memerlukan banyak penataan ulang data. Dengan tmap, Anda cukup mengganti satu lapisan.
Latihan ini adalah bagian dari kursus
Memvisualisasikan Data Geospasial di R
Petunjuk latihan
- Tambahkan
style = "quantile"ketm_fill(). Ini memilih batas kelas pada skala warna berdasarkan jumlah observasi yang sama di setiap interval. - Pada plot yang sama, tambahkan lapisan
tm_borders()dengancol = "burlywood4". - Buat plot baru yang sama seperti yang pertama, tetapi alih-alih
tm_fill()tambahkan lapisantm_bubbles()dengansizedipetakan ke population.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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()