2016-07-27 10 views
5

मैं उस क्रम को बदलने की कोशिश कर रहा हूं जिसमें किंवदंती वस्तुएं दिखाई देती हैं। मैंने बिना किसी परिणाम के इस पर लगभग एक घंटे बिताया है।एक पौराणिक कथाओं में वस्तुओं को पुन: व्यवस्थित कैसे करें?

यहाँ एक उदाहरण सेटअप है:

library(ggplot2) 
set.seed(0) 
d <- data.frame(x = runif(3), y = runif(3), a = c('1', '3', '10')) 

और यहाँ बहुत सी बातें मैं कोशिश की है में से एक है:

ggplot(d, aes(x = x, y = y)) + 
    geom_point(size=7, aes(color = a, order = as.numeric(a))) 

enter image description here

(मेरे अनुभवहीन आशा, ज़ाहिर है, कि था पौराणिक वस्तुओं को संख्यात्मक क्रम में दिखाया जाएगा: 1, 3, 10.)

उत्तर

8

ggplot आमतौर परके अनुसार आपके कारक मानों को ऑर्डर करेगा कारक के। आप यह सुनिश्चित करने का सबसे अच्छा कर रहे हैं कि आपको अन्यथा चाहते आप आर में समारोह का एक बहुत के साथ लड़ जाएगा, लेकिन आप मैन्युअल रूप से रंग पैमाने से छेड़छाड़ करके इसे बदल सकते है:

ggplot(d, aes(x = x, y = y)) + 
    geom_point(size=7, aes(color = a)) + 
    scale_color_discrete(breaks=c("1","3","10")) 
2

था , d$a <- factor(d$a, levels = d$a)

तो अपने कोड इस

library(ggplot2) 
set.seed(0) 
d <- data.frame(x = runif(3), y = runif(3), a = c('1', '3', '10')) 

d$a <- factor(d$a, levels = d$a) 

ggplot(d, aes(x = x, y = y)) + 
    geom_point(size=7, aes(color = a)) 

और ouptut enter image description here

नोट दिखाई देगा: कथा लेबल की ई आदेश को पुन: क्रम और कारक के लिए स्तंभ a में मूल्यों को बदलने के द्वारा हेरफेर किया जा सकता अब पौराणिक कथाओं में: 1 लाल है, 3 हरा है और 10 नीला रंग

+1

धन्यवाद! मैंने इस जवाब को ऊपर उठाया क्योंकि यह उपयोगी जानकारी प्रदान करता है, लेकिन मैं उस उत्तर के लिए बाहर रहूंगा जिसके अंतर्गत अंतर्निहित 'data.frame' को संशोधित करने की आवश्यकता नहीं है। किसी भी तरह, मुझे यह विश्वास करना मुश्किल लगता है कि 'ggplot2' को पौराणिक कथाओं में वस्तुओं के क्रम के रूप में कुछ सतही के रूप में बदलने के लिए अंतर्निहित 'data.frame' को बदलने की आवश्यकता होगी। – kjo

संबंधित मुद्दे