2015-03-02 64 views
1

我有一個圖表,我想要着色bin密度(如下)。但我希望單個箱(值= 1)作爲黑色和更高的值,或者作爲單獨的其他顏色,或者更好,作爲漸變。與ggplot bin2d不對稱顏色漸變

我只能有一個黑色 - >紅色漸變,或完全離散的顏色,這太容易混淆了。我無法成功將手動顏色映射到bin2d函數的「count」變量。任何人都可以提出修正?

我的代碼:

ggplot(x, aes(x=as.factor(V4), y=V2)) + 
    geom_bin2d(binwidth = c(1,100)) + 
    scale_fill_continuous(low="black", high="red") + 
    facet_wrap(~V1, nrow = 1) 

enter image description here

放大版本,可見它是多麼難以區分2S enter image description here

感謝

編輯:我已經實現了一個更好的辦法代表這一點。我要的是規模,看起來像這樣: enter image description here

我的數據(X)是這樣的:

V1 V2 V3 V4 
    5 5831 30 A 
    5 20451 38 A 
    5 23151 34 B 
    5 30061 39 A 
    5 34191 32 B 
    5 41641 30 A 

因此,V2是行了y軸的位置,V1是面V4是垂直列。該行的存在(以前由V3確定,但在此不相關)有助於bin2d計數。

+0

人們可以有更多的幫助,如果你提供的示例數據 – arvi1000 2015-03-02 17:13:07

+0

(什麼在'x'?)我已經加入了,謝謝。 – Daniel 2015-03-02 17:19:32

回答

0

我已經設法解決了這個問題。發現可以使用映射到綁定數「..count ..」,所以現在的代碼如下:

ggplot(x, aes(x=as.factor(V4), y=V2)) + 
    geom_bin2d(binwidth = c(1,100), aes(fill=as.factor(..count..))) + 
    scale_fill_manual(values = c("#000000", "#FF9900", "#FF6600", "#FF3300")) + 
    scale_y_continuous(breaks = pretty_breaks(12)) + 
    facet_wrap(~V1, nrow = 1)