2017-01-21 54 views
-1

我想繪製舊金山事件的密度圖。我需要顯示六邊形。我需要六邊形的alpha在密度最大時接近1,而當密度最小時接近0。我嘗試:R ggplot2:alpha取決於密度值

ggmap(sfmap, base_layer = ggplot(sample_ds, aes(x=long, y=lat))) + 
    coord_cartesian() + 
    stat_binhex() + 
    scale_alpha(range = c(0,0.8)) + 
    scale_fill_gradient(low = "yellow", high = "red") 

enter image description here

我想紅色六邊形有根據計數變量的大值的1 alpha值。 在另一方面,我想黃六邊形有阿爾法接近0的值,因爲沒有在這些六邊形

而且

非常noob問題,對不起了很多事件,但我完全失去了這個軟件包,我知道它很強大,但我無法理解我在做什麼或在哪裏尋找信息。

+0

你能提供一個輸出,採樣數據,或預期的結果? – loki

+0

是啊對不起,我有點累 –

回答

1

你可以做

library(ggmap) 
map <- get_map() 
df <- data.frame(
    lon = do.call(runif, as.list(setNames(c(1000, attr(map, "bb")[c(2,4)]), c("n", "min", "max")))), 
    lat = do.call(runif, as.list(setNames(c(1000, attr(map, "bb")[c(1,3)]), c("n", "min", "max")))) 
) 
ggmap(map, base_layer = ggplot(df, aes(x=lon, y=lat))) + 
    coord_cartesian() + 
    stat_binhex(aes(alpha=..density..)) + 
    scale_alpha(range = c(0,0.8)) + 
    scale_fill_gradient(low = "yellow", high = "red") 
+0

thks很多!你知道一個很好的材料來理解ggplot2。因爲我想知道我會在哪裏找到這些信息! –

+0

好問題。好像它沒有記錄。我記得它來自http://docs.ggplot2.org/current/geom_density.html – lukeA