Saya merencanakan objek SF (multipolygons). Saya yang geometri-nya diisi dengan warna sesuai dengan nilai setiap pengamatan di kolom cand_dummy. Namun, saya telah mencoba untuk mengubah banyak hal di plot ini tetapi saya mendapatkan geometri dengan warna, tetapi saya tidak dapat mengubah warnanya, dengan sesuatu seperti ini:

library(ggplot2)
 ggplot(data = dta_plot) +
  geom_sf(data = dta_plot, aes(fill = cand_dummy))+
  theme_map()+
  coord_sf(expand = FALSE)+
  theme(legend.position="top")+
  theme(legend.position="top")+
  scale_fill_discrete(name = "Cand", labels = c("No", "Yes"))+
  scale_fill_manual(values = c("white", "green4"))

Ini mencetak warna yang berbeda untuk nilai yang berbeda dari cand_dummy, tetapi bukan warna yang saya atur untuk di scale_fill_manual. Atau, saya mengubah fill untuk colour dalam aes dan lakukan hal berikut:

ggplot(data = dta_plot) +
  geom_sf(data = dta_plot, aes(colour = cand_dummy))+
  theme_map()+
  coord_sf(expand = FALSE)+
  theme(legend.position="top")+
  theme(legend.position="top")+
  scale_fill_discrete(name = "Cand", labels = c("No", "Yes"))+
  scale_fill_manual(values = c("white", "green4"))

Tapi sekarang saya mendapatkan batas / perbatasan dari setiap geometri dalam warna-warna ini sedangkan geometri itu sendiri berwarna abu-abu. Jadi saya tidak dapat menemukan cara untuk mendapatkan apa yang saya cari. Ada ide? Terima kasih!

1
AntVal 4 April 2021, 19:23

1 menjawab

Jawaban Terbaik

Saya percaya bahwa masalahnya adalah Anda telah memasukkan kedua fungsi skala_fill_manual dan scale_fill_discrete dalam kode. Saya percaya Anda harus hanya memiliki fungsi berikut:

scale_fill_manual(values = c("white", "green4"), name = "Cand", labels = c("No", "Yes"))

Beri tahu saya jika ini tidak berfungsi untuk blok kode pertama Anda.

1
Joel Kandiah 4 April 2021, 16:47