Es gibt zwei Faktoren, die sich auf die Glätte des Diagramms auswirken, die Bandbreite, die für die Schätzung der Kerneldichte verwendet wird, und die Unterbrechungen, denen Sie Farben im Diagramm zuweisen.
Meiner Erfahrung nach passe ich für eine explorative Analyse nur die Bandbreite an, bis ich ein nützliches Diagramm erhalte. Demonstration unten.
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))
Das einfache Ändern des Standardfarbschemas hilft weder, noch ändert es die Auflösung der Pixel (wenn die Standardauflösung zu genau ist, sollten Sie die Auflösung reduzieren und die Pixel vergrößern). Obwohl Sie das Standardfarbschema aus ästhetischen Gründen möglicherweise ändern möchten, ist es sehr diskriminierend.
Was Sie tun können, um die Farbe zu verbessern, ist, die Skalierungsstufe in Logarithmen zu ändern (dies ist nur dann hilfreich, wenn Sie einen sehr inhomogenen Prozess haben). Ändern Sie die Farbpalette so, dass sie am unteren Ende stärker variiert (Abweichung in Bezug auf die Farbverlaufsspezifikation in R), oder passen Sie die Legende so an, dass sie diskrete Fächer anstelle von fortlaufenden Fächern enthält.
Beispiele für Bias in der Legende angepasst von hier , und ich habe eine andere Stelle auf der GIS - Website erklärt die diskreten Bins in einem ziemlich einfachen Beispiel Färbung hier . Dies hilft jedoch nicht, wenn das Muster zu Beginn über- oder untergeglättet ist.
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))
Um die Farben im letzten Bild transparent zu machen (wobei das erste Farbfach Weiß ist), können Sie einfach den Farbverlauf generieren und dann die RGB-Spezifikation durch transparente Farben ersetzen. Beispiel unten mit den gleichen Daten wie oben.
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)