2017-01-21 4 views
-1

Я хочу построить карту плотности событий в Сан-Франциско. Мне нужно отобразить шестиугольники. Мне нужно, чтобы гексагональная альфа была близка к 1, когда плотность максимальна и близка к 0, когда плотность минимальна. Моя попытка:R ggplot2: значение плотности альфа

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 в соответствии с большим значением переменной счетчика. С другой стороны, я хотел бы желтые шестиугольники, чтобы иметь значение альфа близко к 0, потому что не много события в этих шестиугольников

И

Очень нуб вопрос, извините, но я полностью потерянный с помощью этого пакета, я знаю, что он мощный, но я не могу понять, что я делаю, или где я должен искать информацию.

+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

Смежные вопросы