Ci sono due cose che influenzeranno la fluidità della trama, la larghezza di banda utilizzata per la stima della densità del kernel e le interruzioni alle quali si assegnano i colori nella trama.
Nella mia esperienza, per l'analisi esplorativa ho appena regolato la larghezza di banda fino a quando non ho ottenuto una trama utile. Dimostrazione di seguito.
library(spatstat)
set.seed(3)
X <- rpoispp(10)
par(mfrow = c(2,2))
plot(density(X, 1))
plot(density(X, 0.1))
plot(density(X, 0.05))
plot(density(X, 0.01))
La semplice modifica della combinazione di colori predefinita non sarà di alcun aiuto, né cambierà la risoluzione dei pixel (semmai la risoluzione predefinita è troppo precisa e dovresti ridurre la risoluzione e ingrandire i pixel). Anche se potresti voler cambiare la combinazione di colori predefinita per scopi estetici, è inteso per essere altamente discriminante.
Le cose che puoi fare per aiutare il colore a cambiare il livello di scala in logaritmi (aiuterà davvero solo se hai un processo molto inomogeneo), cambiare la tavolozza dei colori per variare maggiormente all'estremità inferiore (distorsione in termini di specifiche della rampa di colore in R) oppure regola la legenda in modo da disporre di contenitori discreti anziché continui.
Esempi di pregiudizi nella leggenda adattati da qui , e ho un altro post sul sito GIS che spiega come colorare i contenitori discreti in un esempio piuttosto semplice qui . Questi non aiuteranno però se il motivo è sopra o sotto levigato anche se per cominciare.
Z <- density(X, 0.1)
logZ <- eval.im(log(Z))
bias_palette <- colorRampPalette(c("blue", "magenta", "red", "yellow", "white"), bias=2, space="Lab")
norm_palette <- colorRampPalette(c("white","red"))
par(mfrow = c(2,2))
plot(Z)
plot(logZ)
plot(Z, col=bias_palette(256))
plot(Z, col=norm_palette(5))
Per rendere trasparenti i colori nell'ultima immagine (dove il primo contenitore dei colori è bianco) è possibile generare semplicemente la scala dei colori e quindi sostituire la specifica RGB con colori trasparenti. Esempio sotto usando gli stessi dati di cui sopra.
library(spatstat)
set.seed(3)
X <- rpoispp(10)
Z <- density(X, 0.1)
A <- rpoispp(100) #points other places than density
norm_palette <- colorRampPalette(c("white","red"))
pal_opaque <- norm_palette(5)
pal_trans <- norm_palette(5)
pal_trans[1] <- "#FFFFFF00" #was originally "#FFFFFF"
par(mfrow = c(1,3))
plot(A, Main = "Opaque Density")
plot(Z, add=T, col = pal_opaque)
plot(A, Main = "Transparent Density")
plot(Z, add=T, col = pal_trans)
pal_trans2 <- paste(pal_opaque,"50",sep = "")
plot(A, Main = "All slightly transparent")
plot(Z, add=T, col = pal_trans2)