0
我正在使用geom_tile
來繪製映像圖,並且想要清除零級以清晰起見。使用ggplot2刪除圖像映射的零級
#dummy data
set.seed(1)
tdata <- data.frame(cat1=rep(letters[1:3],4),cat2=sort(rep(LETTERS[1:4],3)),val=rpois(12,1.5))
tdata$val<-tdata$val/max(tdata$val)
我已發現2層的方法可以做到這一點,但兩者都具有它們的缺點:
1)
qplot(cat1,cat2,data=tdata,geom="tile",fill=val) + scale_fill_continuous(limits=c(.Machine$double.eps,1))
這具有這樣的缺點,即最小值的顏色不被打印在規模。
2)
qplot(cat1,cat2,data=tdata,geom="tile",fill=val,alpha=ifelse(val,1,0))
這具有阿爾法刻度繪製太多的缺點。在I()
中包裝alpha參數會導致失敗。
有沒有辦法做到這一點沒有缺點?
你是什麼意思'清零水平'?首先,您的測試數據在tdata $ val中沒有任何零... – Spacedman 2010-10-12 16:31:26
它應該這樣做,除非'set.seed(1)'在您的系統上生成不同的隨機數。我的意思是如果數值爲零而不是顏色漸變的底端,則不繪製任何東西。 – James 2010-10-13 08:55:44