Sök…


viridis - tryck och färgblindvänliga paletter

Viridis (uppkallad efter chromis viridis-fisken ) är ett nyligen utvecklat färgschema för Python-bibliotekets matplotlib (videouppvisningen genom länken förklarar hur färgschemat har utvecklats och vilka som är dess främsta fördelar). Den är sömlöst portad till R

Det finns fyra varianter av färgscheman: magma , plasma , inferno och viridis (standard). De väljs med option och kodas som A , B , C och D , på motsvarande sätt. För att få ett intryck av de fyra färgscheman, titta på kartorna:

ange bildbeskrivning här ( bild souce )


Paketet kan installeras från CRAN eller github .


Vignetten för viridis paketet är bara lysande.


Trevligt inslag i viridis färgschema är integration med ggplot2 . I paketet ggplot2 två ggplot2 specifika funktioner: scale_color_viridis() och scale_fill_viridis() . Se exemplet nedan:

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)

ange bildbeskrivning här

RColorBrewer

ColorBrewer- projektet är ett mycket populärt verktyg för att välja harmoniskt matchande färgpaletter. RColorBrewer är en port i projektet för R och erbjuder också färgblindvänliga paletter.


Ett exempel på användning

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

RColorBrewer skapar färgalternativ för ggplot2 : scale_color_brewer och 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))

ange bildbeskrivning här

En praktisk funktion för att skymta en vektor med färger

Ofta finns det ett behov av att skymta den valda färgpaletten. En elegant lösning är följande självdefinerade funktion:

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

Ett exempel på användning

color_glimpse(blues9)

kompis

colourpace - klicka & dra gränssnittet för färger

colorspace ger GUI för att välja en palett. På samtalet från choose_palette() -funktion choose_palette() följande fönster:

ange bildbeskrivning här

När paletten är vald, tryck bara på OK och glöm inte att lagra utgången i en variabel, t.ex. pal .

pal <- choose_palette()

Utgången är en funktion som tar n (nummer) som inmatning och producerar en färgvektor med längd n enligt den valda paletten.

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

grundläggande R-färgfunktioner

Funktionsfärger colors() listar alla färgnamn som känns igen av R. Det finns en trevlig PDF där man faktiskt kan se dessa färger.


colorRampPalette skapar en funktion som interpolerar en uppsättning givna färger för att skapa nya färgpaletter. Denna utgångsfunktion tar n (nummer) som inmatning och producerar en färgvektor med längden n interpolerar de initiala färgerna.

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

Varje specifik färg kan produceras med en rgb() -funktion:

rgb(0,1,0)

ger green färg.

Färgblindvänliga paletter

Även om färgblinda människor känner igen ett brett spektrum av färger, kan det vara svårt att skilja mellan vissa färger.


RColorBrewer erbjuder färgblindvänliga paletter:

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

färgblindvänlig palett

Color Universal Design från University of Tokyo föreslår följande paletter:

#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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow