Bantu memilih skema pewarnaan pemetaan choropleth bivariat yang paling cocok

10

Saya mencoba untuk overlay variabel nominal (2 kategori - tadah hujan vs irigasi) di peta choropleth atas variabel numerik.

masukkan deskripsi gambar di sini

Untuk menyoroti perbedaan pola di antara dua kategori, saya telah menguraikan satu kategori dengan warna berbeda (area irigasi dalam "merah"), sedangkan yang tidak berwarna adalah area tadah hujan.

Namun, peta itu terasa berantakan dan garis besarnya bercampur dengan warna variabel numerik yang lebih gelap.

Saya mencoba untuk menghindari menggunakan dua skema naungan warna yang berbeda untuk mewakili dua kategori karena saya merasa akan menyembunyikan distribusi keseluruhan dari variabel yang mendasarinya.

Apakah ada cara yang lebih baik untuk mewakili klasifikasi bivariat ini menggunakan paket ggplots2 di R (yang saat ini saya gunakan untuk membuat peta terlampir)?

Peta-peta ini pada akhirnya akan dicetak di atas kertas.

varungoel123
sumber
Pertimbangkan untuk menghitung jarak euclidean pada batas area irigasi. Lebih detail di sini: gis.stackexchange.com/q/53163/8104
Aaron
@ Harun, terima kasih untuk tautannya, Directional shading mungkin bekerja untuk ini, dan saya bisa menggunakan alat penyangga untuk menggambar area-area itu di R. Namun satu-satunya kekhawatiran saya, adalah ukuran poligon yang relatif kecil yang mungkin dikaburkan oleh yang lebih luas. menguraikan. Saya akan mencoba ini.
varungoel123
@ varungoel123 Saya memposting solusi R menggunakan paket rasterdan rasterVisyang mungkin menarik bagi Anda.
thiagoveloso

Jawaban:

7

Alih-alih menguraikan garis untuk menunjukkan area beririgasi Anda harus menggunakan sesuatu seperti pola pengisian transparan (misalnya garis, hachure). Contohnya akan terlihat mirip dengan ini:

http://www.geog.fu-berlin.de/de/Karto/umn_karten/bilder/komb2.png

atau hanya google "pola peta isi" untuk mendapatkan ikhtisar opsi. Menggunakan garis besar hanya untuk daerah irigasi akan memberi kesan bahwa irigasi bukanlah fenomena yang berkelanjutan.

Chris P.
sumber
Itu saran yang bagus. Apakah ada cara untuk melakukan ini di ggplot2 atau paket lain di R? Saya memiliki sekitar 60-70 peta di mana demarkasi daerah tadah hujan vs irigasi tetap konstan. Dengan ggplot2, saya dapat mengotomatisasi produksi peta, sesuatu yang belum dapat saya capai dengan menggunakan ArcMap atau Qgis
varungoel123
Saya tidak terbiasa dengan ggplot2 atau R. Namun pola isian ini adalah hal yang cukup standar dan tidak boleh terlalu sulit untuk dicapai. Saya tahu bagaimana melakukannya di Qgis atau ArcMap. Di kedua program Anda dapat menyimpan gaya itu setelah Anda mendefinisikannya dan menggunakannya kembali. Otomasi harus dimungkinkan dengan keduanya. Sebuah skrip python atau arcpy dapat melakukan pekerjaan untuk Anda.
Chris P
1
Sayangnya ggplot tidak pandai mengisi pola (tapi lihat di sini untuk alternatif)
cengel
QGis dalam versi 2.0.1 juga menawarkan produksi peta otomatis
Zbynek
1

Baru-baru ini saya harus melakukan peta yang sama. Solusi saya datang dengan menggunakan paket rasterVis, daripada ggplot2 (yang merupakan paket yang luar biasa, omong-omong).

Dalam kasus saya, saya memiliki peta tren dari waktu ke waktu (yang merupakan variabel numerik juga) dan juga peta yang menunjukkan signifikansi tren (diperoleh dari tes statistik).

Dalam kasus saya, saya ingin memplot peta signifikansi di atas peta numerik, sesuatu yang mirip dengan pola "penetapan", untuk menunjukkan di mana tingkat kepercayaan lebih tinggi.

Ini kira-kira kode yang saya gunakan untuk membuat peta.

require(raster)
require(rasterVis)

# Scratch raster objects
data(volcano)
r1 <- raster(volcano)

over <- ifelse(volcano >=160 & volcano <=180, 1, NA) # This is the "mask" raster
r2 <- raster(over)

# And this is the key step:
# To convert the "mask" raster to spatial points
r.mask <- rasterToPoints(r2, spatial=TRUE)

# Plot
levelplot(r1, margin=F) +
layer(sp.points(r.mask, pch=20, cex=0.3, alpha=0.8))

Dalam kasus Anda, Anda dapat mengubah kode dengan:

1) membuat raster "biner", di mana misalnya 0 adalah tadah hujan dan 1 diairi, dan plot seperti yang telah saya lakukan atau;

2) membuat dua topeng yang berbeda, satu untuk tadah hujan dan satu untuk irigasi, dan plot keduanya sebagai objek yang berbeda (misalnya lingkaran untuk tadah hujan dan persilangan untuk tadah hujan).

Saya pikir alternatif kedua akan membuat peta terlihat terlalu "tercemar" secara visual, tetapi Anda selalu dapat mengontrol parameter titik dengan berkonsultasi dengan spdokumentasi paket - khususnya ?sp.points.

Semoga ini bisa membantu.

thiagoveloso
sumber