2013-01-08 16 views
8

वर्तमान में, साजिश कथा 0.5 से -0.25 तक के लिए चलती है, मैं इसे 0.25 अंतराल के बाद ब्रेक के साथ 1 से -1 तक बढ़ाना चाहता हूं। मैं उसे कैसे कर सकता हूँ।मैन्युअल रूप से geom_tile में पौराणिक रेंज को बढ़ाकर

यदि मैं scale_fill_continous() का उपयोग करता हूं, तो यह मेरे पिछले भरे हुए मान को ओवरराइड करता है। तो, समाधान

+ scale_fill_continuous (टूटता = seq (-1,1, द्वारा = 0.25), कम = 'white', उच्च = 'steelblue')

लेकिन वहाँ है किया जाएगा Error in unit(tic_pos.c, "mm") : 'x' and 'units' must have length > 0 कहने में एक त्रुटि मैंने एक और उदाहरण के साथ प्रयास किया, जहां मैंने 0 से 1 तक की सीमा का उल्लेख किया है, लेकिन यह अधिकतम के आधार पर 0.555 से शुरू होता है। और न्यूनतम z

पौराणिक कथाओं को आयाम में बढ़ाया जाना चाहिए, जैसे रंगों को इसके अनुरूप भी होना चाहिए, जिसका अर्थ है कम -1 और उच्च +1 है।

संपूर्ण विचार, -0.25 (मध्य में) के मूल्य के साथ टाइल्स सफेद नहीं होना चाहिए क्योंकि वे सबसे कम नहीं हैं, सबसे कम -1 है, -0.25 का रंग हल्का नीला होना चाहिए और इसे चाहिए कोई फर्क नहीं पड़ता, अगर नीचे दिया गया मान ग्राफ़ में प्रदर्शित होता है या नहीं, क्योंकि कोई कस्टम सीमा प्रदान कर रहा है।

उदाहरण प्लॉट:

plot

कोड यह उत्पन्न करने के लिए

pp <- function (n,r=4) { 
x <- seq(-r*pi, r*pi, len=n) 
df <- expand.grid(x=x, y=x) 
df$r <- sqrt(df$x^2 + df$y^2) 
df$z <- cos(df$r^2)*exp(-df$r/6) 
df 
} 
ggplot(pp(20),aes(x=x,y=y))+geom_tile(aes(fill=z)) 

उत्तर

17

आप अपने पैमाने के limits निर्दिष्ट करना होगा:

p <- ggplot(pp(20),aes(x=x,y=y))+geom_tile(aes(fill=z)) 

p + scale_fill_continuous(limits=c(-1, 1), breaks=seq(-1,1,by=0.25)) 

enter image description here

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