सौंदर्यशास्त्र और geom_text का उपयोग करते समय किंवदंती से 'a' निकालें


124

मैं इस कोड द्वारा उत्पन्न किंवदंती से 'a' अक्षर को कैसे हटा सकता हूं? अगर मैं हटा दूं geom_text, तो किंवदंती में 'ए' अक्षर नहीं दिखेगा। मैं geom_textहालांकि रखना चाहता हूं ।

ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width, shape = Species, colour = Species)) + 
   geom_point() + 
   geom_text(aes(label = Species))

जवाबों:


142

सेट show.legend = FALSEमें geom_text:

ggplot(data = iris,
       aes(x = Sepal.Length, y = Sepal.Width, colour = Species, shape = Species, label = Species)) + 
    geom_point() +
    geom_text(show.legend = FALSE)

तर्क show_guideके लिए नाम बदल दिया है show.legendमें ggplot2 2.0.0( देखें रिहाई खबर )।


पूर्व- ggplot2 2.0.0:

इस show_guide = FALSEतरह के साथ ...

ggplot( data=iris, aes(x=Sepal.Length, y=Sepal.Width , colour = Species , shape = Species, label = Species ) , size=20 ) + 
geom_point()+
geom_text( show_guide  = F )

यहाँ छवि विवरण दर्ज करें


3
3.2.1 में स्थापित show.legendकरने से किंवदंती पूरी तरह से दूर हो जाएगी! FALSEggplot2
नेल्सनगॉन

14

मुझे भी ऐसी ही समस्या थी । साइमन के समाधान ने मेरे लिए काम किया लेकिन एक मामूली मोड़ की आवश्यकता थी। मुझे यह महसूस नहीं हुआ कि मुझे जियो_टेक्स्ट की दलीलों में "show_guide = F" जोड़ने की ज़रूरत है , बजाय इसके कि मौजूदा तर्कों को प्रतिस्थापित किया जाए - जो कि साइमन का समाधान दिखाता है। मेरे जैसे एक ggplot2 noob के लिए यह स्पष्ट नहीं था। एक उचित उदाहरण ने ओपी कोड का उपयोग किया होगा और सिर्फ इस तरह से लापता तर्क जोड़ा है:

..
geom_text(aes(label=Species), show_guide = F) +
..

9

जैसे निक ने कहा

निम्न कोड अभी भी त्रुटि उत्पन्न करेगा:

geom_text(aes(x=1,y=2,label="",show_guide=F))

यहाँ छवि विवरण दर्ज करें

जहाँ तक:

geom_text(aes(x=1,y=2,label=""),show_guide=F)

ऐस तर्क के बाहर किंवदंती पर एक खत्म कर देता है

यहाँ छवि विवरण दर्ज करें


क्या 'a' को 'r' की तरह किसी और चीज़ में कस्टमाइज़ करने का कोई तरीका है?
असालिमिह

8

हम guide_legend(override.aes = aes(...))किंवदंती में 'a' को छिपाने के लिए उपयोग कर सकते हैं ।

नीचे एक छोटा उदाहरण दिया गया है कि आप guide_legend () का उपयोग कैसे कर सकते हैं

library(ggrepel)
#> Loading required package: ggplot2

d <- mtcars[c(1:8),]

p <- ggplot(d, aes(wt, mpg)) +
  geom_point() +
  theme_classic(base_size = 18) +
  geom_label_repel(
    aes(label = rownames(d), fill = factor(cyl)),
    size = 5, color = "white"
  )

# Let's see what the default legend looks like.
p

# Now let's override some of the aesthetics:
p + guides(
  fill = guide_legend(
    title = "Legend Title",
    override.aes = aes(label = "")
  )
)

2019-04-29 को रेप्रेक्स पैकेज (v0.2.1) द्वारा बनाया गया


मुझे लगता है कि यह स्वीकार किए जाते हैं की तुलना में एक बेहतर समाधान है, क्योंकि यह विशेष रूप से किंवदंती से 'ए' पत्र को हटाने की अनुमति देता है, जबकि अन्य सौंदर्यशास्त्र, यदि वांछित है, तो अछूता रह सकता है।
मार्केल

1

आप किंवदंती में "ए" को हटाने के show.legend = FALSEतर्कों में भी उपयोग कर सकते हैं geom_label_repel()। इसलिए, के बजाय

ggplot(d, aes(wt, mpg)) +
  geom_point() +
  theme_classic(base_size = 18) +
  geom_label_repel(
    aes(label = rownames(d), fill = factor(cyl)),
    size = 5, color = "white"
  )+ guides(
  fill = guide_legend(
    title = "Legend Title",
    override.aes = aes(label = "")
  )
)

तुम कर सकते हो,

ggplot(d, aes(wt, mpg)) +
  geom_point() +
  theme_classic(base_size = 18) +
  geom_label_repel(
    aes(label = rownames(d), fill = factor(cyl)),
    size = 5, color = "white",
    show.legend = FALSE  )

0

मुझे एक समान समस्या थी, एक 'ए' के ​​साथ अलग-अलग रंगीन बिंदुओं के पीछे दिखाई दे रहा था जिन्हें मैं लेबल करने की कोशिश कर रहा था geom_text_repel। 'A' को हटाने के लिए, ताकि यह 'a' के बिना केवल उस बिंदु को दिखाए, मुझे इसमें show.legend=FALSEएक तर्क के रूप में जोड़ना होगा geom_text_repel

आशा है कि किसी को भी समझ में आता है जो एक ही मुद्दे के साथ श्रम कर सकता है!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.