v <- 2^(7:17)
min_lon <- 6.164780
max_lon <- 15.744857
min_lat <- 47.228296
max_lat <- 54.426407
center_lon <- (min_lon + max_lon)/2
center_lat <- (min_lat + max_lat)/2
df <- data.frame(id = 1:sum(v))
df$T <- rep(paste("T", v, sep="_"), v)
df$lon <- runif(sum(v),min_lon, max_lon)
df$lat <- runif(sum(v),min_lat,max_lat)
Fare una mappa termica con trasparenza = .. livello ..Heatmap trasparenza, colorazione e specificità che non soddisfano
gg_heatmap <- function(T){
g <- ggmap(get_map(location=c(lat=center_lat, lon=center_lon), zoom=6, maptype="roadmap", source="google"))
g <- g + scale_fill_gradientn(colours=rev(rainbow(100, start=0, end=0.75)))
g <- g + stat_density2d(data=df[df$T == "T_1024",], aes(x = lon, y = lat,fill = ..level..,transparency=..level..),
size=1, bins=100, geom = 'polygon')
print(g)
}
system.time(gg_heatmap("T_1024"))
Fare una mappa termica da alfa impostando = .05
gg_heatmap <- function(T){
g <- ggmap(get_map(location=c(lat=center_lat, lon=center_lon), zoom=6, maptype="roadmap", source="google"))
g <- g + scale_fill_gradientn(colours=rev(rainbow(100, start=0, end=0.75)))
g <- g + stat_density2d(data=df[df$T == "T_1024",], aes(x = lon, y = lat,fill = ..level..), alpha=.05,
size=1, bins=100, geom = 'polygon')
print(g)
}
system.time(gg_heatmap("T_1024"))
Entrambi i risultati non sono soddisfacenti. Preferirei vedere qualcosa come la seguente heatmap realizzata con QlikView e utilizzare lo stesso set di dati "T_1024".
ci sono tre aspetti che preferisco per la QV-versione:
- La trasparenza permette di vedere ancora la mappa sottostante ...
- ... mentre i colori sono ancora espressivi e non pallidi
- La colorazione consente di identificare più dettagli
Ho provato ad affrontare (1) sperimentando diversi modi di impostare il livello alfa in modo statico e relativo al livello .. Tuttavia, non sono riuscito a ottenere buoni risultati. La trasparenza non è mai veramente buona e se vedo la mappa i colori sono troppo pallidi.
(3) Ho pensato che potrei influenzare impostando un valore alto del contenitore.
Qualche idea su come ottimizzare il rendering della heatmap o almeno alcuni aspetti di esso?
'transparency' è un argomento valido per' stat_density2d (...) '?? Perché non stai usando 'alpha = .. level..'? – jlhoward