जैसा कि प्रश्न और उपयोगकर्ता 3490026 का उत्तर एक शीर्ष खोज हिट है, मैंने एक प्रतिलिपि प्रस्तुत करने योग्य उदाहरण और अब तक किए गए सुझावों का एक संक्षिप्त चित्रण किया है, साथ में एक समाधान भी है जो ओपी के प्रश्न को स्पष्ट रूप से संबोधित करता है।
चीजों में से एक जो ggplot2
करता है और जो भ्रमित हो सकता है वह यह है कि यह स्वचालित रूप से कुछ किंवदंतियों को मिश्रित करता है जब वे एक ही चर के साथ जुड़े होते हैं। उदाहरण के लिए, factor(gear)
दो बार, एक बार के लिए linetype
और एक बार के लिए प्रकट होता है fill
, जिसके परिणामस्वरूप एक संयुक्त किंवदंती होती है। इसके विपरीत, gear
इसकी खुद की किंवदंती प्रविष्टि है क्योंकि यह उसी के समान नहीं है factor(gear)
। अब तक दिए गए समाधान आमतौर पर अच्छी तरह से काम करते हैं। लेकिन कभी-कभी, आपको गाइड को ओवरराइड करने की आवश्यकता हो सकती है। मेरे अंतिम उदाहरण को नीचे देखें।
# 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()
सभी किंवदंतियों को निकालें: @ user3490026
p + theme(legend.position = "none")
सभी किंवदंतियों को दूर करें: @duhaime
p + guides(fill = FALSE, color = FALSE, linetype = FALSE, shape = FALSE)
किंवदंतियों को बंद करें: @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()
भराव हटाएं ताकि लिनेटाइप दिखाई दे
p + guides(fill = FALSE)
Scale_fill_ फ़ंक्शन के माध्यम से ऊपर के समान:
p + scale_fill_discrete(guide = FALSE)
और अब ओपी के अनुरोध का एक संभावित उत्तर
"एक परत (चिकनी) की किंवदंती रखने के लिए और दूसरे (बिंदु) की कथा को दूर करने के लिए"
कुछ को एड-हॉक पोस्ट-हॉक से कुछ चालू करें
p + guides(fill = guide_legend(override.aes = list(color = NA)),
color = FALSE,
shape = FALSE)