Il y a deux choses qui auront un impact sur la fluidité du tracé, la bande passante utilisée pour votre estimation de densité de noyau et les coupures auxquelles vous affectez des couleurs dans le tracé.
D'après mon expérience, pour l'analyse exploratoire, j'ajuste simplement la bande passante jusqu'à ce que j'obtienne un tracé utile. Démonstration ci-dessous.
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))
Changer simplement le jeu de couleurs par défaut n'aidera pas du tout, ni changera la résolution des pixels (si quoi que ce soit, la résolution par défaut est trop précise, et vous devriez réduire la résolution et agrandir les pixels). Bien que vous souhaitiez peut-être modifier le jeu de couleurs par défaut à des fins esthétiques, il est censé être très discriminant.
Les choses que vous pouvez faire pour aider la couleur sont de changer le niveau d'échelle en logarithmes (cela n'aidera vraiment que si vous avez un processus très inhomogène), modifiez la palette de couleurs pour varier davantage à l'extrémité inférieure (biais en termes de spécification de la rampe de couleur dans R), ou ajustez la légende pour avoir des bacs discrets au lieu de continus.
Exemples de biais dans la légende adaptée d' ici , et j'ai un autre post sur le site SIG expliquant la coloration des bacs discrets dans un exemple assez simple ici . Cela n'aidera pas si le motif est plus ou moins bien lissé pour commencer.
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))
Pour rendre les couleurs transparentes dans la dernière image (où le premier bac de couleur est blanc), il suffit de générer la rampe de couleurs, puis de remplacer la spécification RVB par des couleurs transparentes. Exemple ci-dessous utilisant les mêmes données que ci-dessus.
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)