मेरे पास एक बारप्लॉट है जिसे मैंने "बीबी" "एए" नमूने के क्रम को बदल दिया है। वे स्थिति स्थान से भरे हुए हैं।

मैं किंवदंती के चर भरने के क्रम को कैसे बदल सकता हूं ताकि बार वाशिंगटन-मंगोलिया-मिस्र के रूप में दिखाई दें? (यानी: काला स्तंभ (मिस्र) दाईं ओर होगा, फिर मंगोलिया, फिर सफेद वाला (वाशिंगटन) बाईं ओर होगा)।

sample <- c("AA", "AA", "AA", "BB", "BB", "BB")
location<- c("Washington", "Mongolia", "Egypt", "Washington", "Mongolia", "Egypt" )
value <- c(0.03, 0.06, 0.02, 0.0051, 0.0082, 0.003)
data <- data.frame(sample, location, value)


ggplot(data, aes(fill=location, y=value, x=sample)) + 
    geom_bar(position="dodge", stat="identity", color="black")+
theme_classic()+
 scale_fill_grey() +
  scale_x_discrete(limits=c("BB", "AA"))

enter image description here

1
Ecg 16 अप्रैल 2020, 01:33

1 उत्तर

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

आप position_dodge2 तर्क के साथ reverse = TRUE का उपयोग geom_col में कर सकते हैं (जो geom_bar(stat = "identity") के बराबर है)।

मैं guides(fill = guide_legend(reverse = TRUE)) का उपयोग लीजेंड लेबलिंग को उलटने और बार के क्रम से मिलान करने के लिए भी करता हूं

library(ggplot2) 

ggplot(data, aes(fill=location, y=value, x=sample)) + 
  geom_col(position = position_dodge2(reverse = TRUE) color="black")+
  theme_classic()+
  scale_fill_grey() +
  scale_x_discrete(limits=c("BB", "AA"))+
  guides(fill = guide_legend(reverse = TRUE))

enter image description here


संपादित करें: position_dodge2 का उपयोग करके geom_errobar को जोड़ना

जैसा कि इस चर्चा में लिखा गया है (https://github.com/tidyverse/ggplot2/issues/2251< /a>), position_dodge2 से geom_col का उपयोग करते समय, यदि आप geom_errorbar जोड़ना चाहते हैं, तो आपको padding तर्क के साथ खेलना होगा:

sample <- c("AA", "AA", "AA", "BB", "BB", "BB")
location<- c("Washington", "Mongolia", "Egypt", "Washington", "Mongolia", "Egypt" )
value <- c(0.03, 0.06, 0.02, 0.0051, 0.0082, 0.003)
sd <- c(0.003, 0.0012, 0.0015, 0.00025, 0.0002, 0.0001) 
data <- data.frame(sample, location, value, sd)

library(ggplot2)

ggplot(data, aes(fill=location, y=value, x=sample)) + 
  geom_bar(position = position_dodge2(reverse = TRUE), stat="identity", color="black")+
  theme_classic()+
  scale_fill_grey() +
  scale_x_discrete(limits=c("BB", "AA"))+
  guides(fill = guide_legend(reverse = TRUE))+
  geom_errorbar(aes(ymin = value-sd, ymax = value+sd), 
                position = position_dodge2(reverse = TRUE, padding = 0.6, width = 0.5))

enter image description here

1
dc37 16 अप्रैल 2020, 00:02