ggplot

2011-05-11 9 views
43

में बार का ऑर्डर करना मैंने इस मंच में उत्तरों को देखा है लेकिन इस विशिष्ट समस्या का उत्तर नहीं मिल रहा है।ggplot

breadth_data <- read.table(textConnection("Stakeholder Value 
'Grantseekers' 0.90 
'Donors' 0.89 
'Community' 0.55 
'Hurricane Relief Fund' 0.24 
'Media' 0.19 
'Employment Seekers' 0.12 
'Affiliates' 0.10 
'Youth' 0.09 
'Women' 0.02 
'Former Board Members' 0.01"), header=TRUE) 

तो बुनियादी बार चार्ट: मैं नहीं बल्कि उन्हें वर्णमाला के क्रम में की तुलना में निम्न डेटा है और एक बार चार्ट जहां सलाखों "मान" के मामले में छोटी से छोटी करने के लिए सबसे बड़ा से आदेश दिया जाता है बनाना चाहते हैं,

c <- ggplot(breadth_data, aes(x=Stakeholder, y=Value)) 
c + geom_bar(stat="identity") + coord_flip() + scale_y_continuous('') + scale_x_discrete('') 

मैंने स्टैक ओवरफ्लो पर मैंने देखा है कि कई अलग-अलग पुनरीक्षण और परिवर्तनों की कोशिश की है, लेकिन मुझे ऐसा लगता है कि यह काम नहीं करता है। मुझे यकीन है कि यह काफी सरल है, लेकिन मैं किसी भी मदद की सराहना करता हूं!

breadth_data <- transform(breadth_data, 
          Stakeholder = reorder(Stakeholder, Value)) 

कौन देता है::

reordered barplot

आप उन्हें इसका उल्टा चाहते हैं, एक आसान

धन्यवाद,

ग्रेग

उत्तर

68

आप समारोह reorder() चाहते रास्ता सिर्फका उपयोग करना है Valuereorder() कॉल अंदर:

breadth_data <- transform(breadth_data, 
          Stakeholder = reorder(Stakeholder, 
               order(Value, decreasing = TRUE))) 
+7

या दिशा रिवर्स करने के 'reorder' को' कॉल अंदर -Value' का उपयोग करें। –

+0

@ रिची - बेशक (चेहरे का पर्दाफाश!) - स्पष्ट रूप से सीधे इस arvo सोच नहीं! –

+0

धन्यवाद, @ गैविन और @ रिची! उत्तम! मैं मदद की सराहना करता हूं। –