मेरे पास दो अलग-अलग समय अवधि (वाई अक्ष) में देशों (एक्स अक्ष) का एक जीजीप्लॉट है, इसलिए प्रत्येक देश के लिए डबल बार। मैं प्रत्येक बार के मूल्यों को देखना चाहता हूं। मैंने geom_text का उपयोग किया है लेकिन मुझे उसी पंक्ति पर मान मिलते हैं, इसलिए वे जगह पर नहीं हैं। मैं इस प्रकार के प्लॉट के लिए geom_text का उपयोग कैसे कर सकता हूं?

Rcountry %>%
  gather("Type", "Value",-Country) %>%
  ggplot(aes(Country, Value, fill = Type)) +
  geom_bar(position = "dodge", stat = "identity") + 
  coord_flip()+
  theme_minimal()+scale_fill_grey()+
  theme(legend.position="bottom")+
  theme(legend.title = element_blank())+
  scale_fill_manual(values=c("darkslategray4", "darkslategrey"))+
  labs(x="Country", y="Stock of robots per thousands worker in '000")+
  geom_text(aes(label=c(X2010, X2018)), size=3.5)```

Thank you

0
Houna Mao 15 अप्रैल 2020, 20:34

1 उत्तर

सबसे बढ़िया उत्तर

यह position = position_dodge(.9) को geom_text में जोड़कर प्राप्त किया जा सकता है, यानी आपको लेबल को सही करने के लिए geom_bar से geom_text में उपयोग की जाने वाली स्थिति पर जाना होगा। उदाहरण डेटा के रूप में mtcars का उपयोग करके, इसे आजमाएं:

library(ggplot2)
library(dplyr)

mtcars2 <- mtcars %>% 
  group_by(cyl, gear) %>% 
  summarise(mpg = mean(mpg)) %>% 
  ungroup()

ggplot(mtcars2, aes(x = factor(cyl), mpg, fill = factor(gear))) + 
  geom_bar(position = "dodge", stat = "identity") +
  theme_minimal() + 
  scale_fill_grey() +
  theme(legend.position="bottom")+
  theme(legend.title = element_blank())+
  labs(x="Country", y="Stock of robots per thousands worker in '000")+
  geom_text(aes(label = mpg), position = position_dodge(.9), size=3.5) +
  coord_flip()

2020-04-15 को reprex पैकेज द्वारा बनाया गया (v0.3.0)

0
stefan 15 अप्रैल 2020, 18:24