Hay dos cosas que afectarán la suavidad de la trama, el ancho de banda utilizado para la estimación de la densidad del núcleo y los saltos a los que asigna colores en la trama.
En mi experiencia, para el análisis exploratorio solo ajusto el ancho de banda hasta obtener una gráfica útil. Demostración a continuación.
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))
Simplemente cambiar el esquema de color predeterminado no ayudará a nada, ni tampoco cambiará la resolución de los píxeles (en todo caso, la resolución predeterminada es demasiado precisa, y debe reducir la resolución y hacer que los píxeles sean más grandes). Aunque es posible que desee cambiar el esquema de color predeterminado con fines estéticos, se pretende que sea muy discriminatorio.
Lo que puede hacer para ayudar al color es cambiar el nivel de escala a logaritmos (en realidad solo ayudará si tiene un proceso muy poco homogéneo), cambiar la paleta de colores para variar más en el extremo inferior (sesgo en términos de la especificación de la rampa de color en R), o ajuste la leyenda para tener bins discretos en lugar de continuos.
Ejemplos de sesgo en la leyenda adaptados de aquí , y tengo otra publicación en el sitio SIG que explica cómo colorear los contenedores discretos en un ejemplo bastante simple aquí . Sin embargo, esto no ayudará si el patrón se suaviza demasiado o menos para empezar.
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))
Para hacer que los colores sean transparentes en la última imagen (donde el primer contenedor de color es blanco) uno puede generar la rampa de color y luego reemplazar la especificación RGB con colores transparentes. Ejemplo a continuación usando los mismos datos que arriba.
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)