2012-03-30 9 views
34

मैं आर के प्लॉट फ़ंक्शन का उपयोग करके नीचे साजिश की साजिश कर रहा हूं। यह समय में बदलाव के वेक्टर 'शिफ्टटाइम' का एक साजिश है। मेरे पास ~ 3 से ~ 9 तक की तीव्रता मानों का एक और वेक्टर 'तीव्रता' है। मैं रंगीन ढाल वाले उन मानों के आधार पर साजिश में अपने अंक रंगना चाहता हूं। उदाहरण मैं वास्तविक प्लॉट किए गए बिंदुओं के मूल्य पर रंग पा सकता हूं, इसलिए इस मामले में वेक्टर 'शिफ्टटाइम' के मान। क्या एक अलग वेक्टर का उपयोग करना भी संभव है, जब तक संबंधित मान एक ही इंडेक्स पर हों?मूल्यों के वेक्टर के आधार पर अलग-अलग प्लॉट में रंग बिंदु

My plot

उत्तर

89

यहाँ एक समाधान है आधार आर ग्राफ़िक्स का उपयोग:

#Some sample data 
x <- runif(100) 
dat <- data.frame(x = x,y = x^2 + 1) 

#Create a function to generate a continuous color palette 
rbPal <- colorRampPalette(c('red','blue')) 

#This adds a column of color values 
# based on the y values 
dat$Col <- rbPal(10)[as.numeric(cut(dat$y,breaks = 10))] 

plot(dat$x,dat$y,pch = 20,col = dat$Col) 

enter image description here

+4

यह बहुत अच्छा है! मैं इसके साथ किंवदंती कैसे दिखाऊंगा? –

16

समाधान ggplot2 का उपयोग कर:

library(ggplot2) 

#Some sample data 
x <- sort(runif(100)) 
dat <- data.frame(x = x,y = x^2 + 1) 
# Some external vector for the color scale 
col <- sort(rnorm(100)) 

qplot(x, y, data=dat, colour=col) + scale_colour_gradient(low="red", high="blue") 

plot

12

आधार आर में Joran के जवाब देने के लिए एक किंवदंती जोड़ने के लिए:

legend("topleft",title="Decile",legend=c(1:10),col =rbPal(10),pch=20) 

यह उदाहरण कहते हैं, ", CEX = 0.8" सिर्फ कमनीयता के लिए:

multicoloured plot including legend

+0

आप इस पौराणिक कथा को एक सतत रंग फीड बार कैसे बनायेंगे? – colin

+0

आप तर्क कथा में सही मूल्यों का उपयोग कैसे करते हैं? (किंवदंती नहीं = सी (1:10)) ?? – xhie

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