2012-12-01 7 views
5
scale_colour_gradient(low="red", high="blue") 

एक रंग ढाल कि ज्यादातर लाल दिखता है उत्पन्न करता है scale_colour_gradient (कम = "red", उच्च = "नीले") के साथ एक सममित रंग पैमाने बनाएँ। मैं बीच में से बैंगनी के साथ red-violet-blue की उम्मीद है, लेकिन मैं red-still_red-violet-blueमें ggplot2

red-still_red-violet-blue

कैसे बैंगनी के साथ एक ढाल केंद्रित मैं प्राप्त कर सकते हैं मिल गया?

उत्तर

7
scale_colour_gradientn(colours=c("red","violet","blue")) 
+0

वर्क्स ठीक के साथ और अधिक सरल। 'Magenta' भी' violet' –

6
library(ggplot2) 

dsub <- subset(diamonds, x > 5 & x < 6 & y > 5 & y < 6) 
dsub$diff <- with(dsub, sqrt(abs(x-y))* sign(x-y)) 
(d <- qplot(x, y, data=dsub, colour=diff)) 

max_val <- max(abs(dsub$diff)) 
values <- seq(-max_val, max_val, length = 3) 

d + scale_colour_gradientn(colours=c("red","violet","blue"), 
          values = values, rescaler = function(x, ...) x, oob = identity) 

और के रूप में टिप्पणी में कहा, scale_colour_gradient2

d + scale_colour_gradient2(low='red',mid='violet',high='blue') 

enter image description here

+3

से बेहतर दिखता है यह मूल रूप से 'scale_gradient2' करता है ... – hadley