Saya memiliki bingkai data sederhana yang saya coba gunakan untuk membuat plot garis dan titik gabungan ggplot2
. Misalkan data saya terlihat seperti ini:
df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20),
group=c(rep("a",10),rep("b",10)))
Dan saya mencoba membuat plot:
g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8))
g
Hasilnya terlihat bagus dengan satu pengecualian. Ini memiliki legenda ekstra yang menunjukkan alpha
untuk geom_point
lapisan saya .
Bagaimana caranya agar legenda tetap menunjukkan warna grup, tetapi bukan yang menunjukkan setelan alfa saya?
g + scale_alpha(guide = "none")
.group
estetika tidak menghasilkan skala atau panduan sendiri. Itu selalu semacam memodifikasi sesuatu yang lain. Anda tidak akan pernah mendapatkan legenda untuk estetika "grup".Cukup tambahkan
show.legend = F
kode setelah bagian yang tidak Anda inginkan.g <- ggplot(df, aes(x=x, y=y, group=group)) g <- g + geom_line(aes(colour=group)) g <- g + geom_point(aes(colour=group, alpha = .8), show.legend = F)
sumber
Untuk versi lama ggplot2 (versi sebelum 0.9.2, dirilis pada akhir 2012), jawaban ini seharusnya berfungsi:
Saya mencoba ini dengan a
colour_scale
dan tidak berhasil. Tampaknyacolour_scale_hue
item tersebut berfungsi seperti fungsi dengan parameter defaultTRUE
. Saya menambahkanscale_colour_hue(legend=FALSE)
dan berhasil.Saya tidak yakin apakah ini kasus untuk semua item skala warna di ggplot
sumber
legend
dalamscale_*
panggilan sudah tidak digunakan lagi, lebih baik dilakukanscale_colour_hue(guide = "none")
.legend=FALSE
ini sudah usang, seperti yang ditunjukkan oleh komentar @shujaa, ini secara efektif merupakan jawaban duplikat, yaitu untuk menambahkanguide = "none"
kescale_fill/color*
fungsi.