Soru ve user3490026 'nın cevabı en iyi arama sonucu olduğu için, OP'nin sorusunu açıkça ele alan bir çözümle birlikte şimdiye kadar yapılan önerilerin tekrarlanabilir bir örneğini ve kısa bir örneğini yaptım.
ggplot2
Yapan ve kafa karıştırıcı olabilecek şeylerden biri, belirli efsaneleri aynı değişkenle ilişkilendirildiğinde otomatik olarak karıştırmasıdır. Örneğin factor(gear)
, bir kez linetype
ve bir kez olmak üzere iki kez görünür ve fill
birleşik bir efsaneye yol açar. Aksine,gear
aynı muamele görmediği için kendi efsane girişi vardır factor(gear)
. Şimdiye kadar sunulan çözümler genellikle iyi çalışıyor. Ancak bazen, kılavuzları geçersiz kılmanız gerekebilir. En alttaki örneğime bakın.
# reproducible example:
library(ggplot2)
p <- ggplot(data = mtcars, aes(x = mpg, y = disp, group = gear)) +
geom_point(aes(color = vs)) +
geom_point(aes(shape = factor(cyl))) +
geom_line(aes(linetype = factor(gear))) +
geom_smooth(aes(fill = factor(gear), color = gear)) +
theme_bw()
Tüm efsaneleri kaldır: @ user3490026
p + theme(legend.position = "none")
Tüm efsaneleri kaldır: @duhaime
p + guides(fill = FALSE, color = FALSE, linetype = FALSE, shape = FALSE)
Efsaneleri kapatın: @Tjebo
ggplot(data = mtcars, aes(x = mpg, y = disp, group = gear)) +
geom_point(aes(color = vs), show.legend = FALSE) +
geom_point(aes(shape = factor(cyl)), show.legend = FALSE) +
geom_line(aes(linetype = factor(gear)), show.legend = FALSE) +
geom_smooth(aes(fill = factor(gear), color = gear), show.legend = FALSE) +
theme_bw()
Dolguyu, çizgi tipi görünür olacak şekilde kaldırın
p + guides(fill = FALSE)
Scale_fill_ işlevi ile yukarıdaki ile aynı:
p + scale_fill_discrete(guide = FALSE)
Ve şimdi OP'nin talebine olası bir cevap
"bir katmanın efsanesini korumak (pürüzsüz) ve diğer katmanın efsanesini kaldırmak (nokta)"
Ad-hoc post-hoc geçici olarak bazılarını aç
p + guides(fill = guide_legend(override.aes = list(color = NA)),
color = FALSE,
shape = FALSE)