मैं डेटासेट में डेटा मानों की सीमा के बावजूद, दो मानों के बीच एक रंग ढाल को खींचने और किंवदंती लेबल करने का एक तरीका ढूंढ रहा हूं। अनिवार्य रूप से, रंग ग्रेडियेंट्स के लिए ylim()
के बराबर एक कार्यात्मक है?डेटा रेंज के बाहर रेंज के लिए ggplot स्केल रंग ढाल
को देखते हुए कोड है जो az मूल्य -1 और 1 के बीच आम तौर पर भूखंडों, मैं साजिश और एक ढाल लेबल अगर टूटता डेटा सीमा के भीतर हैं कर सकते हैं:
require(ggplot2)
#generator from http://docs.ggplot2.org/current/geom_tile.html
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
}
t <- pp(30)
summary(t)
b <- c(-.5,0,.5)
p <- ggplot(data=t,aes(x=x,y=y))+
geom_tile(aes(fill=z))+
scale_fill_gradientn(colours=c("navyblue","darkmagenta","darkorange1"),breaks=b,labels=format(b))
try(ggsave(plot=p,filename=<somefile.png>,height=3,width=4))
लेकिन जब मैं बदल मनाई गई सीमा के बाहर मूल्यों को तोड़ता है, ढाल रंग समायोजित प्रतीत नहीं होता है और ढाल लेबल प्रकट नहीं होते हैं।
b <- c(-3,0,3)
मुझे लगता है कि मैं कुछ समान हासिल करने की कोशिश कर रहा हूं, लेकिन इस समाधान के साथ विफल रहा हूं। मेरे पास कई डेटासेट हैं जहां मान सीमित श्रेणियों में हैं, लेकिन सैद्धांतिक रूप से वे 0 और -100 (डीबी) के बीच हो सकते हैं। scale_fill_gradient (कम = "सफेद", उच्च = "लाल") ठीक है, लेकिन मुझे दृष्टि से डेटासेट की तुलना करने की अनुमति नहीं देता है। scale_fill_gradient (कम = "सफेद", उच्च = "लाल", सीमा = सी (0, -100), गाइड = "किंवदंती", सीमा = सी (0, -100), ब्रेक = बी, लेबल = प्रारूप (सी (0, -100)) किंवदंती का उत्पादन नहीं करता है। मुझे नुकसान हुआ है। – MartinT