Generuję wykres rozproszenia gęstości kolorów w R za pomocą funkcji smoothScatter()
.Legenda R dla wykresu rozrzutu gęstości koloru utworzonego za pomocą smoothScatter
Przykład:
## A largish data set
n <- 10000
x1 <- matrix(rnorm(n), ncol = 2)
x2 <- matrix(rnorm(n, mean = 3, sd = 1.5), ncol = 2)
x <- rbind(x1, x2)
oldpar <- par(mfrow = c(2, 2))
smoothScatter(x, nrpoints = 0)
wyjściowa:
Problem mam jest to, że jestem pewien jak dodać skalę legenda/kolorów, który opisuje względną różnicę w kategoriach liczbowych między różnymi odcieniami. Na przykład, nie ma sposobu, aby stwierdzić, czy najciemniejszy niebieski na powyższym rysunku jest 2 razy, 10 razy lub 100 razy gęściej niż najjaśniejszy niebieski bez jakiejś legendy lub skali kolorów. Czy istnieje jakaś metoda w R, aby uzyskać wymagane informacje, aby stworzyć taką skalę, lub wszystko, co jest wbudowane, może automatycznie wygenerować skalę kolorów?
Zobacz [ten komentarz] (http://stackoverflow.com/questions/8899096/color-bar-for-smoothscatter-in-r#comment11130419_8899096) – mnel
@mnel Mogę odwołać się do jednego z tych podejść, jeśli zajdzie taka potrzeba, ale najlepiej jestem po sposób to zrobić przy użyciu 'smoothScatter()'. –
Twoje rozwiązanie będzie (prawdopodobnie) wymagało użycia argumentu 'postPlotHook'. Możesz spojrzeć na funkcję 'fields :: image.plot', aby dowiedzieć się, w jaki sposób tworzą legendę. – mnel