Ggplot2 के साथ R में प्रत्येक बार के लिए geom_bar पर लेबल कैसे लगाएं


99

मैं यह पाया है, कैसे ggplot2 के साथ R में geom_bar पर लेबल लगाने के लिए , लेकिन यह सिर्फ एक बार में लेबल (संख्या) डाल दिया।

यहाँ, चलो कहते हैं, प्रत्येक एक्स-एक्सिस के लिए दो बार, समान कार्य कैसे करें?

मेरा डेटा और कोड इस तरह दिखता है:

dat <- read.table(text = "sample Types Number
sample1 A   3641
sample2 A   3119
sample1 B   15815
sample2 B   12334
sample1 C   2706
sample2 C   3147", header=TRUE)

library(ggplot2)
bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) + 
  geom_bar(position = 'dodge') + geom_text(aes(label=Number))

फिर, हम प्राप्त करेंगे: enter image description here

ऐसा लगता है कि संख्या ग्रंथ भी "चकमा" पैटर्न में स्थित हैं। मैंने कुछ जानकारी खोजने के लिए geom_text मैनुअल खोजा है , लेकिन यह काम नहीं कर सकता है।

सुझाव?

जवाबों:


142

इसे इस्तेमाल करे:

ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) + 
     geom_bar(position = 'dodge', stat='identity') +
     geom_text(aes(label=Number), position=position_dodge(width=0.9), vjust=-0.25)

ggplot output


2
(+1) आप कथन के vjust = -0.5बाद भी जोड़ सकते हैं position()ताकि मान सलाखों के ठीक ऊपर रखे जाएं।
smillig

2
महान धन्यवाद, वैसे, कोड सेटिंग का सुझाव देता है ymax, इसलिए aes(x=Types, y=Number, fill=sample, ymax = 16000), वाई-अक्ष के लिए व्यापक ऊपरी क्षेत्र का उत्पादन करेगा, ताकि 15815 बेहतर दिखाए जाएंगे।
3

मुझे यह त्रुटि मिलती है: त्रुटि: stat_count () का उपयोग सौंदर्यबोध के साथ नहीं किया जाना चाहिए।
userJT

3
इस उत्तर में नए वाक्यविन्यास stackoverflow.com/questions/33079500/…
userJT

2
@ सीमोरgeom_text(..., angle=-90)
आरसी

4

'Rcs' उत्तर में जोड़ने के लिए, यदि आप ge__bar के साथ position_dodge () का उपयोग करना चाहते हैं () जब x एक POSIX.ct तिथि है, तो आपको 86400, जैसे, द्वारा चौड़ाई को गुणा करना होगा

ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) + 
 geom_bar(position = "dodge", stat = 'identity') +
 geom_text(aes(label=Number), position=position_dodge(width=0.9*86400), vjust=-0.25)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.