All Projects → caleblareau → BuenColors

caleblareau / BuenColors

Licence: other
R package of colors for the Buenrostro Lab

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to BuenColors

MSG-Book
📖 现代统计图形(已由人民邮电出版社出版) Modern Statistical Graphics
Stars: ✭ 95 (+79.25%)
Mutual labels:  ggplot2
figpatch
Easily Arrange Images with Patchwork Alongside ggplot2 Figures.
Stars: ✭ 46 (-13.21%)
Mutual labels:  ggplot2
Colorful
CSS colors for use with SwiftUI
Stars: ✭ 23 (-56.6%)
Mutual labels:  color
color-console
A lightweight header-only C++ library to bring colors to your Windows console with a very-easy-to-use API.
Stars: ✭ 97 (+83.02%)
Mutual labels:  color
cusumcharter
Easier CUSUM control charts. Returns simple CUSUM statistics, CUSUMs with control limit calculations, and function to generate faceted CUSUM Control Charts
Stars: ✭ 17 (-67.92%)
Mutual labels:  ggplot2
node-color-log
⌨️ The more powerful JavaScript logger for NodeJS and browsers ✏️
Stars: ✭ 58 (+9.43%)
Mutual labels:  color
colorzero
Another color manipulation library for Python (originally from picamera)
Stars: ✭ 24 (-54.72%)
Mutual labels:  color
scclusteval
Single Cell Cluster Evaluation
Stars: ✭ 57 (+7.55%)
Mutual labels:  ggplot2
terminal-style
🎨 Return your terminal message in style! Change the text style, text color and text background color from the terminal, console or shell interface with ANSI color codes. Support for Laravel and Composer.
Stars: ✭ 16 (-69.81%)
Mutual labels:  color
texthighlighter
a no dependency typescript npm package for highlighting user selected text
Stars: ✭ 17 (-67.92%)
Mutual labels:  color
przm
🎨 A simple, yet feature rich color picker and manipulator
Stars: ✭ 19 (-64.15%)
Mutual labels:  color
emojione-color
OpenType-SVG font of EmojiOne 2.3
Stars: ✭ 112 (+111.32%)
Mutual labels:  color
Toast
To use it in PCL or .NetStandard projects write this line of code : CrossToastPopUp.Current.ShowToastMessage("Message");
Stars: ✭ 51 (-3.77%)
Mutual labels:  color
dataviz
Course materials for Kieran Healy's rstudio::conf 2020 data visualization workshop
Stars: ✭ 75 (+41.51%)
Mutual labels:  ggplot2
ggbash
A simpler ggplot2 syntax, saving half of your typing.
Stars: ✭ 79 (+49.06%)
Mutual labels:  ggplot2
ggfx
Filters and Shaders for 'ggplot2'
Stars: ✭ 150 (+183.02%)
Mutual labels:  ggplot2
Colorwaver
🎨 An app to detect color palettes in the real world - powered by VisionCamera
Stars: ✭ 365 (+588.68%)
Mutual labels:  color
palette
Color palette app for elementary OS
Stars: ✭ 32 (-39.62%)
Mutual labels:  color
utils.js
👷 🔧 zero dependencies vanilla JavaScript utils.
Stars: ✭ 14 (-73.58%)
Mutual labels:  color
popping-and-locking-vscode
Vivid and well balanced syntax for VS Code.
Stars: ✭ 26 (-50.94%)
Mutual labels:  color

BuenColors

A package that facilitates nice colors created for the Buenrostro Lab. The base of the package including some divergent color schemes were taken from the wesanderson package. This README provides a quick overview of how to use the color schemes with ggplot2 and which palettes are available.

Installation

devtools::install_github("caleblareau/BuenColors")

Color Palettes

library(BuenColors)

With the library loaded, just type this to get either the continuous or discrete (by default) palette printed in your plot console.

jdb_palette("FantasticFox")

jdb_palette("aqua_brick", type = "continuous")

Here are all the names that are available...

#>   [1] "algae_earth"    "aqua_brick"     "aqua_tan"       "berry"         
#>   [5] "blue_cyan"      "BottleRocket"   "BottleRocket2"  "brewer_blue"   
#>   [9] "brewer_celsius" "brewer_fire"    "brewer_green"   "brewer_heat"   
#>  [13] "brewer_jamaica" "brewer_marine"  "brewer_orange"  "brewer_purple" 
#>  [17] "brewer_red"     "brewer_spectra" "brewer_violet"  "brewer_yes"    
#>  [21] "calma_azules"   "calma_bosque"   "calma_manudo"   "calma_marino"  
#>  [25] "calma_morado"   "calma_musgos"   "Cavalcanti"     "Chevalier"     
#>  [29] "china_basics"   "china_dragon"   "china_novice"   "china_ranges"  
#>  [33] "china_sunset"   "china_theory"   "china_weirdo"   "citric"        
#>  [37] "citric_yellow"  "citrus"         "corona"         "cyan_brick"    
#>  [41] "cyan_green"     "cyan_pink"      "cyan_purple"    "cyan_tan"      
#>  [45] "cyan_violet"    "Darjeeling"     "Darjeeling2"    "dark_blue"     
#>  [49] "dark_citrus"    "dark_cyan"      "dark_violet"    "dusk_dawn"     
#>  [53] "FantasticFox"   "flame_artic"    "flame_blind"    "flame_flame"   
#>  [57] "flame_light"    "flame_macaw"    "flame_polar"    "flame_volts"   
#>  [61] "flame_watts"    "flame_weird"    "flame_wings"    "forest"        
#>  [65] "forest_citric"  "forest_yellow"  "GrandBudapest"  "GrandBudapest2"
#>  [69] "horizon"        "horizon_extra"  "lawhoops"       "Moonrise1"     
#>  [73] "Moonrise2"      "Moonrise3"      "ocean_aqua"     "ocean_brick"   
#>  [77] "ocean_citrus"   "ocean_earth"    "ocean_green"    "ocean_pink"    
#>  [81] "ocean_red"      "ocean_teal"     "purple_baby"    "purple_pink"   
#>  [85] "Royal1"         "Royal2"         "Rushmore"       "samba_color"   
#>  [89] "samba_light"    "samba_night"    "solar_basic"    "solar_blues"   
#>  [93] "solar_extra"    "solar_flare"    "solar_glare"    "solar_rojos"   
#>  [97] "teal_orange"    "teal_violet"    "white_grove"    "white_jungle"  
#> [101] "white_mango"    "white_orange"   "white_tango"    "wolfgang_basic"
#> [105] "wolfgang_extra" "Zissou"

Color Maps

To keep consistent color designations, one can use the color_map function to link features to their specific hex color annoations. For example,

jdb_color_map(c("HSC"))
#> [1] "#00441B"

returns the hex code associated with HSC in the Buenrostro Lab paradigm. This function may be applied over multiple features--

jdb_color_map(c("HSC", "CMP", "HSC"))
#> [1] "#00441B" "#FFC179" "#00441B"

and will error out when a feature is not recognized--

jdb_color_map(c("WHAT"))
#>  Error: all(name %in% names(jdb_color_maps)) is not TRUE 

Here are all the names that are available...

#>  [1] "B"     "CD4"   "CD8"   "CLP"   "CMP"   "Ery"   "GMP"   "GMP-A" "GMP-B"
#> [10] "GMP-C" "HSC"   "LMPP"  "MEP"   "mono"  "MPP"   "NK"    "pDC"

Here are what the mappings look like...

ggplot example

To coordinate a ggplot feature (e.g. data point in a scatter plot) with a particular color, this post was a life-saver. Specifically, we'll use a named vector to coordinate the discrete values. Here's an example--

xy <- 1:7
cell <- c("GMP-A", "Ery", "CD4", "Ery", "LMPP", "ERY", "MEP")

df <- data.frame(
  xy = xy,
  cell = cell, stringsAsFactors = FALSE
)

ggplot(df, aes(x = xy, y = xy, color = cell)) +
  geom_point(size = 10) + pretty_plot() +
  scale_color_manual(values = jdb_color_maps)
#> Warning: Removed 1 rows containing missing values (geom_point).

P.S.-- this call will return a blank color for features that are not found in the color map ("ERY" in this example).

Important Note on color mappings...

The above ggplot command works because jdb_color_maps (with an 's') exists as a named vector in the BuenColors NAMESPACE. The provided function (jdb_color_map) does not have an 's' by the way. This same syntax of supplying a named vector should work for all discrete color scale functionalities in ggplot.

Discrete colors

The trick here is to use scale_color_manual like it is shown here--

library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) + 
  geom_point() + pretty_plot() + 
  scale_color_manual(values = jdb_palette("brewer_spectra"))

Continuous fill

The trick here is to use scale_color_gradientn like it is shown here--

df <- data.frame(x = rnorm(1000), y = 0)
ggplot(df, aes(x=x, y=y, colour=x)) + geom_point() + 
  scale_color_gradientn(colors = jdb_palette("flame_light")) +
  pretty_plot()

Density Plot

Best way that I've found to make the density color function represented in the points. Thanks to Kamil Slowikowski for figuring this out.

dat <- data.frame(
  x = c(
    rnorm(1e4, mean = 0, sd = 0.1),
    rnorm(1e3, mean = 0, sd = 0.1)
  ),
  y = c(
    rnorm(1e4, mean = 0, sd = 0.1),
    rnorm(1e3, mean = 0.1, sd = 0.2)
  )
)
dat$density <- get_density(dat$x, dat$y)
ggplot2::ggplot(dat) + geom_point(aes(x, y, color = density)) + 
  scale_color_gradientn(colors = jdb_palette("solar_extra")) +
  pretty_plot()

Shuffle Plot Order

Quick wrapper using shuf to change the order of plotting points (to a random presentation) to avoid hiding effects.

tdf<-paste(system.file('rds',package='BuenColors'),'basicTSNE.rds',sep='/')
df <- readRDS(tdf)
ggplot(shuf(df)) + geom_point(aes(X1, X2, color = counts)) + 
  scale_color_gradientn(colors = jdb_palette("solar_extra")) +
  pretty_plot()

Continuous Colors

Here's what each palette looks like on a continuous scale.

Discrete colors

Here are the discrete color units that go into each scale. If n is small and discrete, note that the colors that are selected are read from left to right.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].