Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 30, 2021. It is now read-only.
/colormapPublic archive

R package to generate colors from a list of 44 pre-defined palettes

License

NotificationsYou must be signed in to change notification settings

bhaskarvk/colormap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is feature complete. There won't be any more development on this project.


Project Status: Active – The project has reached a stable, usable state and is being actively developed.Last-changedateLicense: MITkeybase verifiedTravis-CI Build StatusAppVeyor Build Statusminimal R versionpackageversionCRAN_Status_Badge

Color Palettes from Node.js Colormap module.

This is an R package that allows you to generate colors from color palettes defined in Node.js'scolormap module. In total it provides 44 distinct palettes made from sequential and/or diverging colors. In addition to the pre defined palettes you can also specify your own set of colors.

There are also scale functions that can be used with ggplot2.

Changelog

  • 2016-11-15 0.1.4 With Viridis as default theme.
  • 2016-10-21 0.1.3 Now on CRAN.
  • 2016-09-06 Ability to generate a custom palette.
  • 2016-08-30 Input Validation and ggplot2 scales.
  • 2016-08-29 First Release.

Credits

  • Thecolormap Node.js module which does all the heavylifting.
  • TheV8 package which allows R code to call Javascript code.
  • Bob Rudis'szoneparser package which I used as a skeleton for this pacakge.
  • Simon Garnier'sviridis package for ggplot2 scale functions.

Installation

RequiresV8

if(!require("V8")) install.packages("V8")if(!require("devtools")) install.packages("devtools")devtools::install_github("bhaskarvk/colormap")

Usage

The main function iscolormap which takes 5 optional arguments

  • colormap: A string representing one of the 44 built-in colormaps.You can use thecolormaps list to specify a value. e.g.colormaps$densityOR A vector of colors in hex e.g. c('#000000','#777777','#FFFFFF')OR A list of list e.g. list(list(index=0,rgb=c(255,255,255)),list(index=1,rgb=c(255,0,0)))
  • nshades: Number of colors to generate.
  • format: one of 'hex', 'rgb', 'rgbaString'
  • alpha: Between 0 & 1 to specify the transparency.
  • reverse: Boolean. Whether to reverse the order of the colors returned or not.

Example

library(colormap)# Defaults to 72 colors from the 'viridis' palette.scales::show_col(colormap(),labels=F)

# Specify a different palette from a list of pre-defined palette.scales::show_col(colormap(colormap=colormaps$temperature,nshades=20))

# Specify opacity value.scales::show_col(colormap(colormap=colormaps$temperature,nshades=20,alpha=0.7))

# Specify colormap as vector of colors.scales::show_col(colormap(colormap=c('#FFFFFF','#FF0000'),nshades=12))

# Specify colormap as list of lists.scales::show_col(colormap(colormap=list(list(index=0,rgb=c(0,255,0)),list(index=1,rgb=c(255,0,255))),nshades=12,alpha=0.65))

You can also get the colors in a 'rgb' matrix and a rgba string vector format

colormap(format='rgb',nshades=5)# As rgb#>      [,1] [,2] [,3] [,4]#> [1,]   68    1   84    1#> [2,]   59   81  139    1#> [3,]   33  144  141    1#> [4,]   92  200   99    1#> [5,]  253  231   37    1colormap(format='rgbaString',nshades=10)# As rgba string#>  [1] "rgba(68,1,84,1)"    "rgba(71,39,117,1)"  "rgba(62,72,135,1)"#>  [4] "rgba(49,102,141,1)" "rgba(38,130,141,1)" "rgba(36,157,136,1)"#>  [7] "rgba(55,181,120,1)" "rgba(109,204,88,1)" "rgba(176,221,49,1)"#> [10] "rgba(253,231,37,1)"

You also getscale_fill_colormap andscale_color_colormap functions for using these palettes in ggplot2 plots. Check?colormap::scale_fill_colormap for details.

ensureCranPkg<-function(pkg) {if(!suppressWarnings(requireNamespace(pkg,quietly=TRUE))) {    install.packages(pkg)  }}ensureCranPkg('ggplot2')library(ggplot2)# Continuous color scaleggplot(mtcars,aes(x=wt,y=mpg))+ geom_point(aes(color=hp))+  theme_minimal()+  scale_color_colormap('Horse Power',discrete=F,colormap=colormaps$viridis,reverse=T)

ggplot(mtcars,aes(x=wt,y=mpg))+ geom_point(aes(color=as.factor(cyl)))+  theme_minimal()+  scale_color_colormap('Cylinder',discrete=T,colormap=colormaps$warm,reverse=T)

Here are two choroplethes usingscale_fill_colormap.

ensureCranPkg('maptools')ensureCranPkg('scales')ensureCranPkg('ggplot2')ensureCranPkg('ggthemes')ensureCranPkg('devtools')if(!suppressWarnings(requireNamespace('albersusa',quietly=TRUE))) {devtools::install_github('hrbrmstr/albersusa')}library(maptools)#> Loading required package: sp#> Checking rgeos availability: TRUElibrary(scales)library(ggplot2)library(albersusa)library(ggthemes)library(colormap)us<- usa_composite()us_map<- fortify(us,region="fips_state")gg_usa<- ggplot(us@data, aes(map_id=fips_state,fill=pop_2014))+  geom_map(map=us_map,color='#ffffff',size=0.1)+   expand_limits(x=us_map$long,y=us_map$lat)+  theme_map()+    theme(legend.position="right")gg_usa+  coord_map("albers",lat0=30,lat1=40)+  scale_fill_colormap("State Population\n(2014 Estimates)",labels=comma,colormap=colormaps$copper,reverse=T,discrete=F)

counties<- counties_composite()counties_map<- fortify(counties,region="fips")gg_counties<- ggplot(counties@data,                       aes(map_id=fips,fill=census_area))+  geom_map(map=counties_map,color='#ffffff',size=0.1)+   expand_limits(x=counties_map$long,y=counties_map$lat)+  theme_map()+    theme(legend.position="right")gg_counties+  coord_map("albers",lat0=30,lat1=40)+  scale_fill_colormap("County Area",labels=comma,trans='log10',colormap=colormaps$freesurface_red,reverse=T,discrete=F)+  theme(#panel.border = element_rect(colour = "black", fill=NA, size=1),legend.position='bottom',legend.direction="horizontal")

Here is a plot showing all 44 pre-defined color palettes and the colors they generate.

ensureCranPkg('purrr')par(mfrow=c(44,1))par(mar=rep(0.25,4))purrr::walk(colormaps,function(x) {   barplot(rep(1,72),yaxt="n",space=c(0,0),border=NA,col=colormap(colormap=x),main= sprintf("\n\n%s",x))  })

About

R package to generate colors from a list of 44 pre-defined palettes

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2026 Movatter.jp