Szukaj…


viridis - palety przyjazne drukiem i niewidomym kolorom

Viridis (nazwany na cześć ryby chromis viridis ) to niedawno opracowany schemat kolorów matplotlib biblioteki Python (prezentacja wideo pod linkiem wyjaśnia, w jaki sposób opracowano schemat kolorów i jakie są jego główne zalety). Jest płynnie przeniesiony do R

Istnieją 4 warianty schematów kolorów: magma , plasma , inferno i viridis (domyślne). Są one wybierane za pomocą parametru option i są odpowiednio kodowane jako A , B , C i D Aby zobaczyć 4 schematy kolorów, spójrz na mapy:

wprowadź opis zdjęcia tutaj ( sos wizerunkowy )


Pakiet można zainstalować z CRAN lub github .


Winieta dla pakietu viridis jest po prostu genialna.


Miłą cechą schematu kolorów viridis jest integracja z ggplot2 . W pakiecie ggplot2 dwie ggplot2 specyficzne dla scale_color_viridis() : scale_color_viridis() i scale_fill_viridis() . Zobacz przykład poniżej:

library(viridis)
library(ggplot2)

gg1 <- ggplot(mtcars)+
    geom_point(aes(x = mpg, y = hp, color = disp), size = 3)+
    scale_color_viridis(option = "B")+
    theme_minimal()+
    theme(legend.position = c(.8,.8))

gg2 <- ggplot(mtcars)+
        geom_violin(aes(x = factor(cyl), y = hp, fill = factor(cyl)))+
        scale_fill_viridis(discrete = T)+
        theme_minimal()+
        theme(legend.position = 'none')

library(cowplot)
output <- plot_grid(gg1,gg2, labels = c('B','D'),label_size = 20)
print(output)

wprowadź opis zdjęcia tutaj

RColorBrewer

Projekt ColorBrewer jest bardzo popularnym narzędziem do wybierania harmonijnie dopasowanych palet kolorów. RColorBrewer jest portem projektu dla R i zapewnia także palety przyjazne dla niewidomych.


Przykład zastosowania

colors_vec <- brewer.pal(5, name = 'BrBG')
print(colors_vec)
[1] "#A6611A" "#DFC27D" "#F5F5F5" "#80CDC1" "#018571"

RColorBrewer tworzy opcje kolorowania dla ggplot2 : scale_color_brewer i scale_fill_brewer .

library(ggplot2)
ggplot(mtcars)+
        geom_point(aes(x = mpg, y = hp, color = factor(cyl)), size = 3)+
        scale_color_brewer(palette = 'Greens')+
        theme_minimal()+
        theme(legend.position = c(.8,.8))

wprowadź opis zdjęcia tutaj

Przydatna funkcja do migotania wektora kolorów

Dość często trzeba rzucić okiem na wybraną paletę kolorów. Jednym eleganckim rozwiązaniem jest następująca samodzielnie zdefiniowana funkcja:

color_glimpse <- function(colors_string){
        n <- length(colors_string)
        hist(1:n,breaks=0:n,col=colors_string)
}

Przykład zastosowania

color_glimpse(blues9)

kumpel

przestrzeń kolorów - kliknij i przeciągnij interfejs dla kolorów

Przestrzeń colorspace pakietu zapewnia GUI do wybierania palety. Po wywołaniu funkcji choose_palette() pojawia się następujące okno:

wprowadź opis zdjęcia tutaj

Po wybraniu palety po prostu naciśnij OK i nie zapomnij zapisać danych wyjściowych w zmiennej, np. pal .

pal <- choose_palette()

Dane wyjściowe to funkcja, która przyjmuje n (liczbę) jako dane wejściowe i generuje wektor kolorów o długości n zgodnie z wybraną paletą.

pal(10)
[1] "#023FA5" "#6371AF" "#959CC3" "#BEC1D4" "#DBDCE0" "#E0DBDC" "#D6BCC0" "#C6909A" "#AE5A6D" "#8E063B"

podstawowe funkcje koloru R.

colors() funkcji colors() wyświetlają wszystkie nazwy kolorów rozpoznawane przez R. Istnieje ładny plik PDF, w którym można zobaczyć te kolory.


colorRampPalette tworzy funkcję interpolującą zestaw danych kolorów w celu utworzenia nowych palet kolorów. Ta funkcja wyjściowa przyjmuje n (liczbę) jako dane wejściowe i tworzy wektor kolorów o długości n interpolujący kolory początkowe.

pal <- colorRampPalette(c('white','red'))
pal(5)
[1] "#FFFFFF" "#FFBFBF" "#FF7F7F" "#FF3F3F" "#FF0000"

Dowolny konkretny kolor może zostać wygenerowany za pomocą funkcji rgb() :

rgb(0,1,0)

daje green kolor.

Palety przyjazne dla niewidomych

Mimo że osoby niewidome dla kolorów potrafią rozpoznać szeroką gamę kolorów, rozróżnianie niektórych kolorów może być trudne.


RColorBrewer zapewnia palety przyjazne dla RColorBrewer :

library(RColorBrewer)
display.brewer.all(colorblindFriendly = T)

paleta przyjazna dla osób niewidomych

Color Universal Design z University of Tokyo proponuje następujące palety:

#palette using grey
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")

#palette using black
cbbPalette <- c("#000000", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow