Istnieją dwie rzeczy, które wpłyną na gładkość wydruku, szerokość pasma wykorzystywana do oszacowania gęstości jądra oraz przerwy, którym przypisujesz kolory na wykresie.
Z mojego doświadczenia wynika, że do analizy eksploracyjnej po prostu dostosowuję przepustowość, aż otrzymam użyteczny wykres. Pokaz poniżej.
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))
Po prostu zmiana domyślnego schematu kolorów nie pomoże, podobnie jak zmiana rozdzielczości pikseli (jeśli w ogóle domyślna rozdzielczość jest zbyt precyzyjna, należy zmniejszyć rozdzielczość i powiększyć piksele). Chociaż możesz chcieć zmienić domyślny schemat kolorów ze względów estetycznych, ma on być bardzo dyskryminujący.
Aby pomóc w kolorze, zmień poziom skali na logarytmy (naprawdę pomoże tylko w przypadku bardzo niejednorodnego procesu), zmień paletę kolorów, aby bardziej różnić się w dolnej części (odchylenie w zakresie specyfikacji rampy kolorów w R) lub dostosuj legendę, aby mieć dyskretne pojemniki zamiast ciągłego.
Przykłady stronniczości w legendzie zaadaptowanej stąd , a ja mam inny post na stronie GIS wyjaśniający kolorowanie dyskretnych pojemników w dość prostym przykładzie tutaj . Nie pomoże to jednak, jeśli wzór jest wygładzony lub wygładzony na początek.
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))
Aby kolory były przezroczyste na ostatnim obrazie (gdzie pierwszy pojemnik kolorów jest biały), wystarczy wygenerować rampę kolorów, a następnie zastąpić specyfikację RGB przezroczystymi kolorami. Przykład poniżej z wykorzystaniem tych samych danych, co powyżej.
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)