Meskipun saya tahu bahwa ada serangkaian fungsi untuk menghasilkan peta panas di R, masalahnya adalah bahwa saya tidak dapat menghasilkan peta yang menarik secara visual. Misalnya, gambar di bawah adalah contoh peta panas yang baik yang ingin saya hindari. Yang pertama jelas kurang detail, sedangkan yang lain (berdasarkan poin yang sama) terlalu detail untuk berguna. Kedua plot telah dihasilkan oleh fungsi density () dalam paket spatstat R.
Bagaimana saya bisa mendapatkan lebih banyak "aliran" ke dalam plot saya? Yang saya tuju adalah lebih banyak hasil yang dapat dihasilkan oleh perangkat lunak SpatialKey ( tangkapan layar ) komersial .
Adakah petunjuk, algoritme, paket, atau baris kode yang dapat membawa saya ke arah ini?
r
data-visualization
spatial
Figaro
sumber
sumber
Jawaban:
Ada dua hal yang akan memengaruhi kelancaran plot, bandwidth yang digunakan untuk estimasi kepadatan kernel Anda dan waktu istirahat yang Anda berikan warna pada plot.
Dalam pengalaman saya, untuk analisis eksplorasi saya hanya menyesuaikan bandwidth sampai saya mendapatkan plot yang bermanfaat. Demonstrasi di bawah.
Hanya mengubah skema warna default tidak akan membantu, juga tidak akan mengubah resolusi piksel (jika ada resolusi default terlalu tepat, dan Anda harus mengurangi resolusi dan membuat piksel lebih besar). Meskipun Anda mungkin ingin mengubah skema warna default untuk tujuan estetika, itu dimaksudkan untuk sangat diskriminatif.
Hal yang dapat Anda lakukan untuk membantu warna adalah mengubah level skala menjadi logaritma (benar-benar hanya akan membantu jika Anda memiliki proses yang sangat tidak homogen), ubah palet warna agar lebih bervariasi di bagian bawah (bias dalam hal spesifikasi ramp warna di R), atau sesuaikan legenda untuk memiliki tempat sampah bukan terus menerus.
Contoh bias dalam legenda yang diadaptasi dari sini , dan saya punya posting lain di situs GIS yang menjelaskan pewarnaan tempat sampah dalam contoh yang cukup sederhana di sini . Ini tidak akan membantu meskipun jika polanya lebih atau kurang dihaluskan untuk memulainya.
Untuk membuat warna transparan pada gambar terakhir (di mana nampan warna pertama adalah putih) kita bisa menghasilkan ramp warna dan kemudian mengganti spesifikasi RGB dengan warna transparan. Contoh di bawah ini menggunakan data yang sama seperti di atas.
sumber
Anda dapat memanfaatkan fungsi interp dari paket akima. Ini akan memungkinkan Anda menginterpolasi matriks Anda ke resolusi lain jika perlu. Untuk membuat sesuatu seperti contoh yang ditautkan, Anda perlu menginterpolasi ke kisi yang cukup bagus (mungkin dengan argumen xo dan yo panjangnya ~ 1000). Ini akan memberi Anda matriks baru yang dapat Anda plot dengan image (). Jika Anda ingin transparansi, ini akan membutuhkan beberapa pekerjaan tambahan. Tidak mudah melakukannya dengan palet warna, jadi Anda mungkin harus memplot setiap kisi sebagai poligon dengan warna yang ditentukan.
sumber
Anda mungkin ingin melihat ke ggplot2. Sepertinya paket yang Anda coba tidak memiliki skema warna yang hebat atau "aliran" - lihat RColorBrewer. Ada blog tempat paket ini diimplementasikan dengan contoh sederhana.
Saya tidak yakin apakah Anda mencoba untuk memplot data geografis seperti yang ditunjukkan dalam contoh yang ditautkan, tetapi jika Anda melakukannya, saya tahu bahwa Google menawarkan "Static Maps API V2 Developer Guide" dan Anda dapat menggabungkan Google dan R dengan paket yang disebut, RgoogleMaps .
Semoga berhasil dengan riset Anda.
sumber
Sudahkah Anda mencoba memperbaiki resolusi
density
? Coba argumendimyx=c(512, 512)
atau lebih tinggi.sumber