2012-11-20 37 views
1

我已經設法使用灰度級命令來製作三維散點圖,第三個維度表示顏色漸變。試圖製作與之相符的傳奇時,我已經碰壁了。我已經有了我想要的顏色範圍,我只是不知道如何告訴R讓它們成爲傳奇。這是我的代碼。如何製作代表我z值的色譜圖例?

conocarp.stands<-c(264,330,400,594,600,700,726,730,800,825,825,826,1914,2145,2200,2310,2475,2640,3630,3960,3960,4124,4554,5082,8250,8475,9200,1000) 

fimb.size<-c(540,2160,1100,1170,350,850,2340,600,200,738,1080,1300,2416,540,3565,810,648,0,900,0,635,1210,0,900,2340,1152,0,0) 

sugar.visits.cono<-c(0.005682,0,0.065,0,0,0.010714,0,0.010274,0.011875,0,0,0,0,0,0.007045,0,0.001414,0.002273,0,0.014141,0.001263,0.006426,0.000769,0.000295,0.005515,0.000186,0.00359,0.004939) 

colors <- rev(grey(1:101/101)) 
zcolor <- colors[round((sugar.visits.cono -min(sugar.visits.cono))/diff(range(sugar.visits.cono))*100 + 1)] 
plot(conocarp.stands,fimb.size, pch=1, cex=1.8,ann=FALSE) 
points(conocarp.stands,fimb.size,col=zcolor, pch=16, cex=1.5) 

zcolor是我的z軸值,應該可以用來產生我的圖例。我嘗試過使用各種軟件包,即SDMTools和字段,但我不應該走這個路線。

+0

也許一個使用hcl的順序調色板也可以嗎? –

回答

1

試試這個,

library(ggplot2) 

d = data.frame(conocarp.stands = conocarp.stands, 
       fimb.size = fimb.size, 
       sugar.visits.cono = sugar.visits.cono) 

ggplot(data = d, mapping = aes(x = conocarp.stands, y = fimb.size)) + 
    geom_point(aes(colour = sugar.visits.cono), shape = 19) 

last_plot() + scale_colour_gradient(high="grey10", low="grey90") + theme_bw() 
0

使用raster.grid命令,我發現你也可以解決這個問題,但是我無法弄清楚如何標記軸。謝謝你這麼多巴蒂斯特我一直避免ggplots 2包,但我認爲這是一次我在鴿子下面是使用raster.grid如果它可以幫助任何人我的代碼:

庫(網格) grid.raster(1 :101/101,width = .075,height = .1)