R/pkRamp.r

Defines functions cpt2hexvec pal ramp

Documented in pal ramp

# custom color ramp generator
# philip kraaijenbrink


#' Load preset color ramps and palettes
#'
#' Load color ramps and palettes from presets. Identical to \code{pkrf::pal() besides some argument defaults.}
#' @param name Name of the color ramp (string).
#' @param number Number of output colors desired (integer). Defaults to number of colors in the pallete for qualitative type and to 100 for sequential and diverging types.
#' @param reversed Reverse the output color order (logical).
#' @param random Randomize output color order (logical).
#' @param center Relative position of the center of the color ramp (numeric, 0-1). Useful to change centerpoint of diverging scales.
#' @param show Show a plot of all available color ramps (logical).
#' @param collapse Print a single comma-separated and quoted string of colors to stdout
#' @return Vector with hex colors strings. 
#' @export
ramp <- function(name='parula', number=NULL, reversed=F, random=F, center=0.5, show=F, collapse=F){
  
  coldat <- tibble::tribble(
    ~name, ~type, ~source, ~colors,
    
    # sequential ramps
    "Jet", 'Sequential', 'MATLAB', c("0000FF","0080FF","00FFFF","80FF80","FFFF00","FF8000","FF0000","800000"),
    "Parula", 'Sequential', 'MATLAB', c("352A87","0567DF","108ED0","1BAEB4","6BBC85","C4BB5E","F7CB33","F9FB0E"),
    "Viridis", 'Sequential', 'Matplotlib', c("440154","482878","3E4A89","31688E","26828E","1F9E89","35B779","6DCD59","B4DE2C","FDE725"),
    "Inferno", 'Sequential', 'Matplotlib', c("000004","1B0C42","4B0C6B","781C6D","A52C60","CF4446","ED6925","FB9A06","F7D03C","FCFFA4"),
    "Magma", 'Sequential', 'Matplotlib', c("000004","180F3E","451077","721F81","9F2F7F","CD4071","F1605D","FD9567","FEC98D","FCFDBF"),
    "Plasma", 'Sequential', 'Matplotlib', c("0D0887","47039F","7301A8","9C179E","BD3786","D8576B","ED7953","FA9E3B","FDC926","F0F921"),
    "Cividis", 'Sequential', 'Matplotlib', c("00204D","00336F","39486B","575C6D","707173","8A8779","A69D75","C4B56C","E4CF5B","FFEA46") ,
    "ElevAG", 'Sequential', 'ArcGIS', c("AFF0E9","FFFFB3","008040","FCBA03","800000","69300D","ABABAB","FFFCFF"),
    "WtSpec", 'Sequential', 'Custom', c("FFFFFF","B7E8FF","ACD88C","DDE241","E83535","380000"),
    "ElevNat1", 'Sequential', 'Custom', c('566314','9ba864','c5cc90','a59a7f','5b4242'),
    "ElevNat2", 'Sequential', 'Custom', c('75a05b','e5d9a7','fcc575','baa395','e2e2e2'),
    "Taupe", 'Sequential', 'Custom', c('22223b','4a4e69','9a8c98','c9ada7','f2e9e4'),
    "Blues", 'Sequential', 'ColorBrewer', c('f7fbff','deebf7','c6dbef','9ecae1','6baed6','4292c6','2171b5','08519c','08306b'),
    "Greens", 'Sequential', 'ColorBrewer', c('f7fcf5','e5f5e0','c7e9c0','a1d99b','74c476','41ab5d','238b45','006d2c','00441b'),
    "BW", 'Sequential', 'ColorBrewer', c('000000','ffffff'),
    "BluesMH",  'Sequential', 'Custom', c('ffffff','232365'),
    "MHramp", 'Sequential', 'Custom', c('FFCD00','c1ae5e','6b6b8c','232365'),
    "Temperature", 'Sequential', 'CPT-City', c("#1316B4","#2331C7","#2D42C9","#3755CB","#365FC6","#466FCF","#507DD2","#598DD6","#629BD9","#7EB9E9","#A5D7FF","#C4E5B7","#B4DFA8","#B0D793","#C7CF74","#DBC85B","#DEBD50","#D9A449","#D39242","#D1853E","#CC7139","#CA6232","#C74528"),
    "GlobWarm",'Sequential', 'CPT-City',c("#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#19151A","#19151A","#302433","#302433","#452A4D","#452A4D","#572963","#572963","#69207D","#69207D","#781294","#781294","#810CA8","#810CA8","#731EA8","#731EA8","#662CA8","#662CA8","#5934A8","#5934A8","#493DA8","#493DA8","#3843A8","#3843A8","#2049A8","#2049A8","#0550AB","#0550AB","#0B5EB8","#0B5EB8","#0E6FC4","#0E6FC4","#0F80D1","#0F80D1","#1092DE","#1092DE","#0CA4EB","#0CA4EB","#07B7F7","#07B7F7","#1DC2F0","#1DC2F0","#32BDC9","#32BDC9","#3FBAA6","#3FBAA6","#43B582","#43B582","#44B361","#44B361","#42AD42","#42AD42","#3CAB1D","#3CAB1D","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#38A800","#43B000","#43B000","#51BA00","#51BA00","#61C900","#61C900","#71D400","#71D400","#84E300","#84E300","#92ED00","#92ED00","#A8FC00","#A8FC00","#B5F700","#B5F700","#C3EB00","#C3EB00","#CFDE00","#CFDE00","#DED300","#DED300","#E8C500","#E8C500","#F2BA00","#F2BA00","#FCAD00","#FCAD00","#FA9200","#FA9200","#F77800","#F77800","#F25D00","#F25D00","#F04400","#F04400","#EB2B00","#EB2B00","#E81700","#E81700","#E60000","#E60000"),
    "Desertification",'Sequential', 'CPT-City',c("#CEED9D","#CEED9D","#D1ED9D","#D1ED9D","#D3ED9A","#D3ED9A","#D7ED9A","#D7ED9A","#D9ED98","#D9ED98","#DCED98","#DCED98","#DFED95","#DFED95","#E1ED95","#E1ED95","#E4ED93","#E4ED93","#E7ED93","#E7ED93","#EAED91","#EAED91","#F0EE92","#F0EE92","#F0ED90","#F0ED90","#F0E990","#F0E990","#F0E48D","#F0E48D","#F0E18B","#F0E18B","#F0DD8B","#F0DD8B","#F0D989","#F0D989","#F0D689","#F0D689","#F0D286","#F0D286","#F0CE86","#F0CE86","#F0CB86","#F0CB86","#EDC785","#EDC785","#EBC383","#EBC383","#E8BE84","#E8BE84","#E3B981","#E3B981","#E0B482","#E0B482","#DEB181","#DEB181","#D9AA7E","#D9AA7E","#D6A77E","#D6A77E","#D4A47D","#D4A47D","#D19F7B","#D19F7B","#CC9B7A","#CC9B7A","#C99679","#C99679","#C79479","#C79479","#C49178","#C49178","#BF8B75","#BF8B75","#BD8975","#BD8975","#BA8573","#BA8573","#B58272","#B58272","#B37F70","#B37F70","#B07B6F","#B07B6F","#AD766C","#AD766C","#AD7266","#AD7266","#AD6F61","#AD6F61","#AD6B5C","#AD6B5C","#AD6857","#AD6857","#AD6451","#AD6451","#AD614C","#AD614C","#AB5C46","#AB5C46","#AB583F","#AB583F","#AB563C","#AB563C","#AB5437","#AB5437","#AB5032","#AB5032","#AB4D2B","#AB4D2B","#AB4926","#AB4926","#A84720","#A84720","#A8431B","#A8431B","#A83F16","#A83F16","#A83E11","#A83E11","#A83B0C","#A83B0C","#A83A07","#A83A07","#A83800","#A83800"),
    "ElevTOPO", 'Sequential', 'CPT-City', c("#71ABD8","#79B2DE","#84B9E3","#8DC1EA","#96C9F0","#A1D2F7","#ACDBFB","#B9E3FF","#C6ECFF","#D8F2FE","#ACD0A5","#94BF8B","#A8C68F","#BDCC96","#D1D7AB","#E1E4B5","#EFEBC0","#E8E1B6","#DED6A3","#D3CA9D","#CAB982","#C3A76B","#B9985A","#AA8753","#AC9A7C","#BAAE9A","#CAC3B8","#E0DED8","#F5F4F2"),
    "Precip1", 'Sequential', 'CPT-City',c("#E5B42C","#F2B464","#F3E977","#91CE7E","#43BE87","#34B485","#069B42"),
    "Precip2", 'Sequential', 'CPT-City',c("#FFFFFF","#EDFAC2","#CDFFCD","#99F0B2","#53BD9F","#32A696","#3296B4","#0570B0","#05508C","#0A1F96","#2C0246","#6A2C5A"),
    "BluesIce",'Sequential', 'CPT-City', c("#EAFDFD","#E8FCFC","#E7FBFB","#E5FAFB","#E3F9FA","#E1F7F9","#E0F6F8","#DEF5F7","#DCF4F6","#DAF3F5","#D8F2F4","#D6F1F3","#D5F0F2","#D3EFF1","#D1EEF0","#CFEDEF","#CDECEF","#CBEBEE","#C9EAED","#C8E9EC","#C6E8EB","#C4E7EA","#C2E6E9","#C0E6E8","#BEE5E7","#BCE4E7","#BAE3E6","#B9E2E5","#B7E1E4","#B5E0E3","#B3DFE3","#B1DEE2","#AFDDE1","#ADDCE0","#ABDBE0","#A9DADF","#A8D9DE","#A6D8DE","#A4D7DD","#A2D6DC","#A0D6DC","#9ED5DB","#9CD4DA","#9AD3DA","#99D2D9","#97D1D9","#95D0D8","#93CFD8","#92CED7","#90CDD7","#8ECCD6","#8CCBD6","#8BCAD5","#89C9D5","#88C8D4","#86C7D4","#85C6D3","#83C5D3","#82C4D3","#80C3D2","#7FC2D2","#7DC1D1","#7CC0D1","#7BBFD0","#79BED0","#78BDD0","#77BCCF","#75BBCF","#74BACE","#73B9CE","#72B8CE","#71B6CD","#6FB5CD","#6EB4CC","#6DB3CC","#6CB2CB","#6BB1CB","#6AB0CB","#69AFCA","#68AECA","#67ADC9","#65ACC9","#64ABC9","#63AAC8","#62A9C8","#61A8C7","#60A7C7","#5FA6C7","#5FA4C6","#5EA3C6","#5DA2C5","#5CA1C5","#5BA0C5","#5A9FC4","#599EC4","#589DC3","#579CC3","#569BC3","#559AC2","#5599C2","#5498C2","#5397C1","#5296C1","#5195C0","#5194C0","#5092C0","#4F91BF","#4E90BF","#4E8FBF","#4D8EBE","#4C8DBE","#4B8CBD","#4B8BBD","#4A8ABD","#4989BC","#4988BC","#4887BC","#4786BB","#4785BB","#4684BB","#4682BA","#4581BA","#4580B9","#447FB9","#447EB9","#437DB8","#437CB8","#427BB7","#427AB7","#4279B7","#4178B6","#4176B6","#4075B5","#4074B5","#4073B4","#4072B4","#3F71B4","#3F70B3","#3F6FB3","#3F6EB2","#3F6CB2","#3F6BB1","#3E6AB0","#3E69B0","#3E68AF","#3E67AF","#3E66AE","#3E65AD","#3E63AD","#3E62AC","#3E61AB","#3E60AB","#3E5FAA","#3E5EA9","#3E5DA8","#3E5CA7","#3E5AA6","#3F59A5","#3F58A4","#3F57A3","#3F56A2","#3F55A1","#3F54A0","#3F539F","#3F529E","#3F519D","#3F509B","#3F4F9A","#3F4E99","#3F4C97","#3F4B96","#3F4A95","#3E4993","#3E4992","#3E4890","#3E478F","#3E468D","#3E458C","#3D448A","#3D4389","#3D4287","#3C4185","#3C4084","#3C3F82","#3B3E80","#3B3E7F","#3A3D7D","#3A3C7B","#3A3B7A","#393A78","#393976","#383975","#383873","#373771","#363670","#36356E","#35356C","#35346B","#343369","#333267","#333266","#323164","#313062","#312F61","#302F5F","#2F2E5E","#2F2D5C","#2E2C5A","#2D2B59","#2C2B57","#2C2A55","#2B2954","#2A2852","#292851","#29274F","#28264E","#27254C","#26254A","#252449","#252347","#242246","#232244","#222143","#212041","#201F40","#1F1F3E","#1F1E3D","#1E1D3B","#1D1C3A","#1C1C38","#1B1B37","#1A1A35","#191934","#181832","#171831","#17172F","#16162E","#15152C","#14142B","#13132A","#121328","#111227","#101125","#0F1024","#0E0F22","#0D0E21","#0C0D1F","#0B0D1E","#0A0C1D","#090B1B","#080A1A","#070918","#060817","#050715","#050614","#040613"),
    "Tempo", 'Sequential', 'CPT-City', c("#FFF6F4","#FDF5F3","#FCF4F1","#FBF3F0","#F9F2EE","#F8F1ED","#F7F0EB","#F5EFEA","#F4EEE8","#F2EDE7","#F1ECE5","#F0EBE4","#EEEAE2","#EDEAE1","#EBE9DF","#EAE8DE","#E9E7DD","#E7E6DB","#E6E5DA","#E4E4D8","#E3E3D7","#E2E2D6","#E0E2D4","#DFE1D3","#DDE0D1","#DCDFD0","#DBDECF","#D9DDCD","#D8DDCC","#D6DCCB","#D5DBC9","#D3DAC8","#D2D9C7","#D1D8C5","#CFD8C4","#CED7C3","#CCD6C1","#CBD5C0","#C9D4BF","#C8D4BE","#C6D3BC","#C5D2BB","#C3D1BA","#C2D1B9","#C0D0B7","#BFCFB6","#BDCEB5","#BCCEB4","#BACDB3","#B9CCB2","#B7CBB0","#B6CBAF","#B4CAAE","#B3C9AD","#B1C8AC","#B0C8AB","#AEC7AA","#ACC6A9","#ABC5A8","#A9C5A6","#A8C4A5","#A6C3A4","#A4C3A3","#A3C2A2","#A1C1A1","#A0C0A0","#9EC09F","#9CBF9F","#9BBE9E","#99BE9D","#97BD9C","#96BC9B","#94BC9A","#92BB99","#91BA98","#8FBA97","#8DB997","#8BB896","#8AB795","#88B794","#86B693","#85B593","#83B592","#81B491","#7FB390","#7DB390","#7CB28F","#7AB18E","#78B18E","#76B08D","#74AF8D","#72AF8C","#71AE8B","#6FAD8B","#6DAD8A","#6BAC8A","#69AB89","#67AB89","#65AA88","#63A988","#61A987","#5FA887","#5DA786","#5BA686","#59A685","#57A585","#56A485","#54A484","#52A384","#50A284","#4EA183","#4BA183","#49A083","#479F82","#459F82","#439E82","#419D82","#3F9C81","#3D9C81","#3B9B81","#3A9A81","#389981","#369880","#349880","#329780","#309680","#2E9580","#2C947F","#2A937F","#29937F","#27927F","#25917F","#24907F","#228F7E","#218E7E","#1F8D7E","#1E8D7E","#1C8C7E","#1B8B7D","#1A8A7D","#19897D","#17887D","#16877C","#16867C","#15857C","#14847C","#13847B","#13837B","#12827B","#12817B","#11807A","#117F7A","#117E7A","#117D79","#117C79","#117B79","#117A78","#117978","#117878","#117777","#117677","#127676","#127576","#127476","#137375","#137275","#137174","#147074","#146F73","#146E73","#156D73","#156C72","#166B72","#166A71","#166971","#176870","#176770","#17666F","#18656F","#18656E","#18646E","#19636D","#19626D","#19616C","#19606C","#1A5F6B","#1A5E6B","#1A5D6A","#1A5C6A","#1A5B69","#1B5A68","#1B5968","#1B5867","#1B5867","#1B5766","#1B5666","#1C5565","#1C5465","#1C5364","#1C5263","#1C5163","#1C5062","#1C4F62","#1C4E61","#1C4D61","#1C4C60","#1C4C5F","#1C4B5F","#1C4A5E","#1C495E","#1C485D","#1C475D","#1C465C","#1C455B","#1C445B","#1C435A","#1C425A","#1C4259","#1C4158","#1C4058","#1B3F57","#1B3E57","#1B3D56","#1B3C56","#1B3B55","#1B3A54","#1B3954","#1B3853","#1A3753","#1A3652","#1A3651","#1A3551","#1A3450","#1A3350","#19324F","#19314F","#19304E","#192F4D","#192E4D","#182D4C","#182C4C","#182B4B","#182A4B","#18294A","#17284A","#172749","#172648","#172548","#172447","#162347","#162246","#162146","#162045","#151F45","#151E44","#151D44"),
    "Acton", 'Sequential', 'Crameri', c("#2E214D","#2F224D","#30234E","#31244F","#322550","#332651","#342652","#352753","#362854","#372955","#382A56","#392B57","#3A2C58","#3B2D58","#3C2E59","#3D2F5A","#3E305B","#3F305C","#41315D","#42325E","#43335F","#443460","#453561","#463662","#473763","#483864","#493964","#4A3A65","#4B3B66","#4C3C67","#4D3D68","#4F3D69","#503E6A","#513F6B","#52406C","#53416D","#54426E","#55436F","#564470","#584571","#594672","#5A4772","#5B4873","#5C4974","#5E4975","#5F4A76","#604B77","#614C78","#634D79","#644E7A","#654F7B","#66507B","#68507C","#69517D","#6A527E","#6B537F","#6D5480","#6E5480","#6F5581","#715682","#725783","#735783","#755884","#765985","#775A86","#795A86","#7A5B87","#7B5B88","#7D5C88","#7E5D89","#7F5D89","#815E8A","#825E8B","#835F8B","#855F8C","#86608C","#87608D","#88618D","#8A618E","#8B618E","#8C628E","#8D628F","#8F628F","#906390","#916390","#926390","#946490","#956491","#966491","#976491","#986491","#996592","#9B6592","#9C6592","#9D6592","#9E6592","#9F6593","#A06593","#A16593","#A26693","#A46693","#A56693","#A66694","#A76694","#A86694","#A96694","#AA6694","#AB6694","#AC6694","#AD6795","#AF6795","#B06795","#B16795","#B26795","#B36795","#B46896","#B56896","#B76896","#B86996","#B96997","#BA6997","#BB6A98","#BD6A98","#BE6B98","#BF6B99","#C06C99","#C16D9A","#C36D9A","#C46E9B","#C56F9C","#C6709C","#C7709D","#C8719E","#C9729E","#CA739F","#CB74A0","#CC75A1","#CD76A1","#CE77A2","#CF78A3","#D079A4","#D07AA4","#D17BA5","#D17CA6","#D27DA7","#D27EA7","#D37FA8","#D380A9","#D381AA","#D482AA","#D483AB","#D484AC","#D485AC","#D486AD","#D587AE","#D588AE","#D589AF","#D58AB0","#D58BB0","#D58CB1","#D58CB2","#D58DB2","#D58EB3","#D58FB3","#D590B4","#D491B5","#D491B5","#D492B6","#D493B6","#D494B7","#D495B8","#D495B8","#D496B9","#D497B9","#D498BA","#D499BB","#D49ABB","#D49ABC","#D49BBC","#D49CBD","#D39DBD","#D39EBE","#D39FBF","#D39FBF","#D3A0C0","#D3A1C1","#D3A2C1","#D3A3C2","#D3A4C2","#D3A5C3","#D3A6C4","#D4A6C4","#D4A7C5","#D4A8C5","#D4A9C6","#D4AAC7","#D4ABC7","#D4ACC8","#D4ADC9","#D4AEC9","#D4AFCA","#D5AFCB","#D5B0CB","#D5B1CC","#D5B2CD","#D5B3CD","#D5B4CE","#D6B5CE","#D6B6CF","#D6B7D0","#D6B8D0","#D6B9D1","#D7BAD2","#D7BBD2","#D7BCD3","#D7BDD4","#D8BED5","#D8BFD5","#D8C0D6","#D9C1D7","#D9C2D7","#D9C3D8","#DAC4D9","#DAC5D9","#DAC6DA","#DAC7DB","#DBC8DB","#DBC9DC","#DBCADD","#DCCBDD","#DCCCDE","#DDCDDF","#DDCEE0","#DDCFE0","#DED0E1","#DED1E2","#DED2E2","#DFD3E3","#DFD4E4","#DFD5E4","#E0D6E5","#E0D7E6","#E1D8E7","#E1D9E7","#E1DAE8","#E2DBE9","#E2DCE9","#E3DDEA","#E3DEEB","#E3DFEB","#E4E0EC","#E4E1ED","#E4E2EE","#E5E3EE","#E5E4EF"),
    'Turku', 'Sequential', 'Crameri', c("#000000","#020202","#040403","#060605","#070707","#090908","#0B0B0A","#0D0D0C","#0E0E0D","#10100E","#111110","#121211","#141312","#151513","#161614","#171715","#181816","#191917","#1A1A18","#1B1B19","#1C1C19","#1D1D1A","#1E1E1B","#1F1F1C","#20201D","#21211E","#22221F","#23231F","#242420","#252521","#262622","#272723","#282823","#292924","#2A2A25","#2B2B26","#2C2C27","#2D2D27","#2E2E28","#2F2F29","#30302A","#32312A","#33322B","#34332C","#35342D","#36362D","#37372E","#38382F","#393930","#3A3A30","#3B3B31","#3C3C32","#3D3D32","#3E3E33","#3F3F34","#404034","#414135","#424235","#434336","#444437","#454537","#464638","#474738","#484839","#49493A","#4B4A3A","#4C4B3B","#4D4C3B","#4E4D3C","#4F4E3C","#504F3D","#51503D","#52513E","#53523E","#54533F","#55543F","#565640","#575740","#585841","#595941","#5A5A42","#5B5B42","#5C5C43","#5D5D43","#5E5E44","#5F5F44","#606045","#616145","#626246","#636346","#646447","#656547","#666647","#676748","#686848","#6A6949","#6B6A49","#6C6B4A","#6D6C4A","#6E6D4B","#6F6E4B","#706F4C","#71704C","#72714D","#73724D","#75734E","#76744E","#77754F","#78764F","#797750","#7B7950","#7C7A51","#7D7B51","#7E7C52","#7F7D52","#817E53","#827F53","#838054","#858154","#868255","#878356","#898456","#8A8557","#8B8658","#8D8758","#8E8859","#908A59","#918B5A","#938C5B","#948D5B","#968E5C","#978F5D","#99905E","#9A915E","#9C925F","#9D9360","#9F9461","#A19461","#A29562","#A49663","#A59764","#A79864","#A99965","#AA9A66","#AC9A67","#AD9B68","#AF9C68","#B09D69","#B29D6A","#B39E6B","#B59F6C","#B69F6C","#B8A06D","#B9A06E","#BBA16F","#BCA170","#BEA270","#BFA271","#C0A272","#C2A373","#C3A374","#C4A474","#C6A475","#C7A476","#C8A477","#C9A578","#CBA578","#CCA579","#CDA57A","#CEA67B","#CFA67C","#D0A67C","#D1A67D","#D2A67E","#D3A67F","#D4A780","#D6A780","#D7A781","#D8A782","#D9A783","#DAA784","#DBA885","#DBA886","#DCA887","#DDA888","#DEA889","#DFA98A","#E0A98B","#E1A98C","#E2A98D","#E3AA8E","#E4AA8F","#E5AA90","#E6AB92","#E7AB93","#E8AC94","#E9AC95","#E9AD97","#EAAD98","#EBAE99","#ECAE9B","#EDAF9C","#EEB09E","#EFB09F","#EFB1A1","#F0B2A2","#F1B3A3","#F2B3A5","#F2B4A7","#F3B5A8","#F4B6AA","#F4B7AB","#F5B8AD","#F6B9AE","#F6BAB0","#F7BBB1","#F7BCB3","#F8BDB4","#F8BEB6","#F9BFB7","#F9C0B9","#FAC1BA","#FAC2BC","#FBC3BD","#FBC4BF","#FBC5C0","#FCC6C1","#FCC7C3","#FCC8C4","#FDC9C6","#FDCBC7","#FDCCC8","#FDCDCA","#FDCECB","#FECFCC","#FED0CE","#FED1CF","#FED2D0","#FED3D1","#FED4D3","#FED6D4","#FED7D5","#FFD8D6","#FFD9D7","#FFDAD9","#FFDBDA","#FFDCDB","#FFDDDC","#FFDEDD","#FFDFDF","#FFE0E0","#FFE2E1","#FFE3E2","#FFE4E3","#FFE5E5"),
    'Lapaz', 'Sequential', 'Crameri', c("#1A0C64","#1B0E65","#1B0F66","#1B1067","#1C1268","#1C1368","#1C1469","#1D166A","#1D176B","#1D186C","#1E196D","#1E1A6D","#1E1C6E","#1F1D6F","#1F1E70","#1F1F71","#202071","#202172","#202373","#202474","#212575","#212675","#212776","#212877","#222978","#222A79","#222B79","#222C7A","#232D7B","#232F7C","#23307C","#23317D","#24327E","#24337F","#24347F","#243580","#253681","#253782","#253882","#253983","#263A84","#263B84","#263C85","#263D86","#273E87","#273F87","#274088","#274189","#284289","#28438A","#28458B","#28468B","#29478C","#29488C","#29498D","#2A4A8E","#2A4B8E","#2A4C8F","#2B4D90","#2B4E90","#2B4F91","#2C5091","#2C5192","#2C5292","#2D5393","#2D5494","#2D5594","#2E5695","#2E5795","#2E5896","#2F5996","#2F5A97","#305B97","#305C98","#305D98","#315E99","#315E99","#325F99","#32609A","#33619A","#33629B","#34639B","#34649C","#35659C","#35669C","#36679D","#37689D","#37699D","#386A9E","#386B9E","#396C9E","#3A6D9F","#3A6E9F","#3B6F9F","#3C70A0","#3C70A0","#3D71A0","#3E72A1","#3E73A1","#3F74A1","#4075A1","#4176A2","#4277A2","#4278A2","#4379A2","#447AA2","#457AA2","#467BA3","#477CA3","#487DA3","#497EA3","#4A7FA3","#4B80A3","#4C80A3","#4D81A3","#4E82A3","#4F83A4","#5084A4","#5185A4","#5285A4","#5386A4","#5487A4","#5588A4","#5688A4","#5789A4","#588AA3","#5A8BA3","#5B8BA3","#5C8CA3","#5D8DA3","#5E8EA3","#608EA3","#618FA3","#6290A3","#6390A2","#6591A2","#6692A2","#6792A2","#6893A2","#6A94A1","#6B94A1","#6C95A1","#6E95A1","#6F96A1","#7097A0","#7297A0","#7398A0","#74989F","#76999F","#77999F","#789A9F","#7A9A9E","#7B9B9E","#7C9B9E","#7E9C9D","#7F9C9D","#809D9D","#829D9C","#839E9C","#859E9C","#869E9B","#879F9B","#899F9A","#8AA09A","#8BA09A","#8DA099","#8EA199","#90A199","#91A298","#92A298","#94A298","#95A398","#97A397","#98A497","#99A497","#9BA496","#9CA596","#9EA596","#9FA696","#A1A696","#A2A696","#A4A795","#A5A795","#A7A895","#A8A895","#AAA995","#ABA995","#ADAA95","#AEAA95","#B0AB95","#B2AB96","#B3AC96","#B5AD96","#B7AD96","#B8AE97","#BAAF97","#BCB098","#BEB098","#BFB199","#C1B299","#C3B39A","#C5B49B","#C7B59C","#C8B69C","#CAB79D","#CCB89E","#CEB99F","#D0BAA0","#D2BBA2","#D3BCA3","#D5BDA4","#D7BEA6","#D9C0A7","#DAC1A8","#DCC2AA","#DEC3AB","#DFC5AD","#E1C6AF","#E3C7B0","#E4C9B2","#E6CAB4","#E7CBB5","#E8CCB7","#EACEB9","#EBCFBB","#ECD0BD","#EDD2BE","#EFD3C0","#F0D4C2","#F1D5C4","#F2D7C6","#F3D8C8","#F4D9C9","#F4DACB","#F5DBCD","#F6DDCF","#F7DED1","#F7DFD3","#F8E0D4","#F9E1D6","#F9E2D8","#FAE3DA","#FAE5DC","#FBE6DD","#FBE7DF","#FBE8E1","#FCE9E3","#FCEAE5","#FCEBE6","#FDECE8","#FDEDEA","#FDEEEC","#FEEFED","#FEF0EF","#FEF1F1"),
    'Davos', 'Sequential', 'Crameri', c("#00054A","#00074C","#00094D","#000B4F","#010C50","#010E51","#020F53","#021054","#031256","#041357","#041459","#05165A","#05175B","#06185D","#071A5E","#071B60","#081C61","#091E62","#0A1F64","#0B2065","#0B2267","#0C2368","#0D2469","#0E266B","#0E276C","#0F286D","#102A6F","#112B70","#112C71","#122E73","#132F74","#133075","#143277","#153378","#163479","#17367A","#17377C","#18387D","#193A7E","#1A3B7F","#1A3C80","#1B3E82","#1C3F83","#1D4084","#1E4185","#1E4386","#1F4487","#204588","#214789","#22488A","#23498B","#234A8C","#244C8D","#254D8E","#264E8F","#274F90","#285190","#295291","#2A5392","#2A5493","#2B5693","#2C5794","#2D5895","#2E5995","#2F5A96","#305B97","#315C97","#325E98","#335F98","#346099","#356199","#36629A","#37639A","#38649A","#39659B","#3A669B","#3A679B","#3B689C","#3C699C","#3D6A9C","#3E6B9C","#3F6C9D","#406D9D","#416E9D","#426F9D","#43709D","#44709D","#45719D","#46729D","#47739D","#48749D","#49759D","#4A769D","#4B769D","#4C779D","#4D789D","#4E799D","#4F799D","#507A9C","#517B9C","#527C9C","#537C9C","#547D9C","#557E9B","#567F9B","#567F9B","#57809B","#58819A","#59819A","#5A829A","#5B8399","#5C8399","#5D8499","#5E8598","#5F8598","#608698","#618697","#628797","#638897","#648896","#658996","#658A95","#668A95","#678B95","#688B94","#698C94","#6A8D93","#6B8D93","#6C8E93","#6D8E92","#6E8F92","#6F9091","#709091","#719191","#729190","#739290","#74938F","#74938F","#75948F","#76958E","#77958E","#78968D","#79968D","#7A978D","#7B988C","#7C988C","#7D998C","#7E9A8B","#7F9A8B","#809B8B","#819C8A","#829D8A","#839D8A","#849E89","#869F89","#87A089","#88A089","#89A188","#8AA288","#8BA388","#8CA388","#8DA488","#8FA588","#90A687","#91A787","#92A887","#93A987","#95AA87","#96AB87","#97AC87","#99AD88","#9AAE88","#9BAF88","#9DB088","#9EB188","#A0B289","#A1B389","#A3B489","#A4B68A","#A6B78A","#A8B88B","#A9B98B","#ABBB8C","#ADBC8C","#AEBD8D","#B0BF8E","#B2C08F","#B4C190","#B6C391","#B8C492","#B9C693","#BBC794","#BDC995","#BFCA96","#C1CC98","#C3CD99","#C5CF9B","#C7D09C","#C9D29E","#CBD39F","#CDD5A1","#CFD6A2","#D0D8A4","#D2D9A6","#D4DBA8","#D6DCA9","#D8DEAB","#D9DFAD","#DBE0AF","#DDE2B1","#DEE3B3","#E0E4B5","#E1E5B6","#E3E7B8","#E4E8BA","#E6E9BC","#E7EABE","#E8EBC0","#EAECC2","#EBEDC4","#ECEEC6","#EDEFC7","#EEEFC9","#EFF0CB","#F0F1CD","#F1F2CF","#F2F2D0","#F3F3D2","#F3F4D4","#F4F4D6","#F5F5D7","#F5F6D9","#F6F6DB","#F7F7DD","#F7F7DE","#F8F8E0","#F8F8E1","#F9F9E3","#F9F9E5","#FAF9E6","#FAFAE8","#FBFAE9","#FBFBEB","#FBFBEC","#FCFBEE","#FCFCF0","#FCFCF1","#FCFCF3","#FDFDF4","#FDFDF6","#FDFDF7","#FEFDF9","#FEFEFA","#FEFEFC","#FEFEFD"),
    'Bilbao', 'Sequential', 'Crameri', c("#FFFFFF","#FEFEFE","#FCFCFC","#FBFBFB","#FAFAFA","#F8F8F8","#F7F7F7","#F6F6F6","#F5F5F4","#F3F3F3","#F2F2F2","#F1F1F0","#EFEFEF","#EEEEEE","#EDEDEC","#ECECEB","#EAEAEA","#E9E9E8","#E8E8E7","#E7E6E6","#E5E5E4","#E4E4E3","#E3E3E1","#E2E1E0","#E1E0DF","#DFDFDD","#DEDEDC","#DDDCDA","#DCDBD9","#DBDAD8","#DAD9D6","#D9D8D5","#D7D7D3","#D6D5D2","#D5D4D0","#D4D3CF","#D3D2CD","#D2D1CC","#D2D0CA","#D1CFC9","#D0CEC7","#CFCDC6","#CECCC4","#CDCBC3","#CDCAC2","#CCC9C0","#CBC8BF","#CAC8BD","#CAC7BC","#C9C6BA","#C9C5B9","#C8C4B8","#C7C4B6","#C7C3B5","#C6C2B3","#C6C2B2","#C5C1B1","#C5C0AF","#C4C0AE","#C4BFAD","#C3BEAB","#C3BEAA","#C2BDA9","#C2BCA7","#C2BCA6","#C1BBA5","#C1BBA3","#C0BAA2","#C0B9A1","#C0B99F","#BFB89E","#BFB89D","#BEB79C","#BEB79A","#BEB699","#BDB598","#BDB596","#BDB495","#BCB394","#BCB392","#BBB291","#BBB190","#BBB18F","#BAB08D","#BAAF8C","#B9AF8B","#B9AE89","#B9AD88","#B8AC87","#B8AB85","#B7AB84","#B7AA83","#B6A981","#B6A880","#B5A77F","#B5A67E","#B5A57C","#B4A47B","#B4A37A","#B3A279","#B3A178","#B2A077","#B29F76","#B29E75","#B19D74","#B19C73","#B19B72","#B09A71","#B09970","#AF9870","#AF976F","#AF966E","#AE956D","#AE946D","#AE936C","#AD926C","#AD916B","#AD906A","#AC906A","#AC8F69","#AC8E69","#AC8D68","#AB8C68","#AB8B68","#AB8A67","#AB8967","#AA8866","#AA8766","#AA8665","#A98665","#A98565","#A98464","#A98364","#A88263","#A88163","#A88063","#A87F62","#A77E62","#A77E62","#A77D61","#A77C61","#A67B60","#A67A60","#A67960","#A6785F","#A5775F","#A5775E","#A5765E","#A5755E","#A4745D","#A4735D","#A4725D","#A4715C","#A3705C","#A3705B","#A36F5B","#A36E5B","#A26D5A","#A26C5A","#A26B59","#A26A59","#A16959","#A16858","#A16858","#A06757","#A06657","#A06557","#9F6456","#9F6356","#9F6255","#9E6155","#9E6054","#9E5F54","#9D5E53","#9D5D53","#9D5C52","#9C5B52","#9C5A51","#9B5951","#9B5850","#9A574F","#9A564F","#99554E","#99544D","#98534D","#97524C","#97514B","#96504B","#964F4A","#954E49","#944D48","#934B47","#934A47","#924946","#914845","#904744","#8F4643","#8E4542","#8D4341","#8C4240","#8B413F","#8B403E","#8A3F3D","#893E3C","#883C3B","#873B3A","#853A39","#843938","#833837","#823736","#813634","#803433","#7F3332","#7E3231","#7D3130","#7C302F","#7B2F2E","#7A2E2D","#782C2C","#772B2B","#762A2A","#752928","#742827","#732726","#722625","#702524","#6F2323","#6E2222","#6D2121","#6C2020","#6B1F1F","#691E1E","#681D1D","#671C1C","#661A1B","#65191A","#641819","#621718","#611617","#601516","#5F1315","#5D1214","#5C1113","#5B1012","#5A0E11","#590D10","#570C0F","#560A0D","#55090C","#54070B","#530609","#510508","#500406","#4F0304","#4E0103"),
    
    # diverging ramps
    "RwB", 'Diverging', 'ColorBrewer', c("67001F","B2182B","D6604D","F4A582","FDDBC7","F7F7F7","D1E5F0","92C5DE","4393C3","2166AC","053061"),
    "RwBsoft", 'Diverging', 'Custom', c('93021b','e28f76','F4F4F4','8c95ad','2b2d42'),
    "RwBpale", 'Diverging', 'Custom', c("934855","e2b7aa","F4F4F4","9ca0ad","353642"),
    "RyG", 'Diverging', 'ColorBrewer', c("A50026","D73027","F46D43","FDAE61","FEE08B","FFFFBF","D9EF8B","A6D96A","66BD63","1A9850","006837"),
    "PwG", 'Diverging', 'ColorBrewer', c("40004B","762A83","9970AB","C2A5CF","E7D4E8","F7F7F7","D9F0D3","A6DBA0","5AAE61","1B7837","00441B"),
    "OwP", 'Diverging', 'ColorBrewer', c("7F3B08","B35806","E08214","FDB863","FEE0B6","F7F7F7","D8DAEB","B2ABD2","8073AC","542788","2D004B"),
    "Spectral", 'Diverging', 'ColorBrewer', c("9E0142","D53E4F","F46D43","FDAE61","FEE08B","FFFFBF","E6F598","ABDDA4","66C2A5","3288BD","5E4FA2"),
    "Delta", 'Diverging', 'CPT-City', c("#112040","#122143","#142246","#152449","#16254C","#172750","#192853","#1A2956","#1B2A5A","#1C2C5D","#1E2D60","#1F2E64","#203067","#21316B","#22326F","#233372","#243576","#25367A","#25377E","#263882","#263A86","#273B8A","#273D8D","#263E91","#254094","#244297","#234498","#21479A","#20499B","#1F4B9B","#1E4D9C","#1D509C","#1C529D","#1C549D","#1B569D","#1B589E","#1B5A9E","#1B5C9E","#1B5E9F","#1B609F","#1B639F","#1B659F","#1C67A0","#1C69A0","#1D6AA0","#1E6CA1","#1E6EA1","#1F70A2","#2072A2","#2174A2","#2276A3","#2378A3","#247AA4","#257CA4","#267EA5","#2780A5","#2882A6","#2A84A6","#2B85A6","#2C87A7","#2E89A7","#2F8BA8","#308DA8","#328FA9","#3391A9","#3593AA","#3795AA","#3897AB","#3A98AB","#3C9AAC","#3E9CAC","#409EAD","#42A0AD","#45A2AE","#47A3AE","#4AA5AE","#4DA7AF","#50A9AF","#53AAB0","#56ACB0","#5AAEB0","#5DAFB1","#61B1B1","#65B3B2","#69B4B3","#6DB6B3","#71B7B4","#75B8B5","#79BAB5","#7DBBB6","#81BDB7","#84BEB8","#88C0B9","#8CC1BA","#90C3BC","#94C4BD","#97C5BE","#9BC7BF","#9EC8C1","#A2CAC2","#A6CBC3","#A9CDC4","#ACCEC6","#B0D0C7","#B3D2C9","#B7D3CA","#BAD5CC","#BDD6CD","#C1D8CE","#C4DAD0","#C7DBD1","#CADDD3","#CDDFD4","#D1E0D6","#D4E2D7","#D7E4D9","#DAE6DA","#DDE7DB","#E0E9DD","#E3EBDE","#E6EDDF","#EAEFE0","#EDF1E2","#F0F3E3","#F3F5E3","#F6F7E4","#FAF8E5","#FDFAE6","#FFFCCC","#FDFAC8","#FCF7C4","#FAF5BF","#F9F3BB","#F8F0B7","#F6EEB2","#F5EBAE","#F4E9AA","#F2E7A6","#F1E4A1","#F0E29D","#EEE099","#EDDE94","#EBDC90","#EAD98C","#E8D787","#E7D583","#E5D37F","#E4D17A","#E2CF76","#E0CD71","#DFCB6D","#DDC969","#DBC764","#D9C560","#D7C45C","#D5C258","#D2C053","#D0BE4F","#CEBD4B","#CBBB47","#C8BA43","#C6B83F","#C3B73C","#C0B538","#BDB434","#BAB331","#B7B12E","#B4B02A","#B1AF27","#AEAD24","#ABAC21","#A8AB1E","#A4AA1B","#A1A818","#9EA716","#9AA613","#97A511","#93A40E","#90A20C","#8CA10A","#89A009","#859F07","#829E06","#7E9C06","#7B9B06","#779A06","#749906","#709807","#6C9607","#699508","#65940A","#61920B","#5E910D","#5A900E","#578F10","#538D11","#4F8C13","#4C8B15","#488916","#448818","#418619","#3D851B","#3A831C","#36821D","#33801F","#2F7F20","#2C7D21","#297C22","#267A24","#227925","#1F7726","#1D7527","#1A7427","#177228","#157029","#136E2A","#116D2A","#0F6B2B","#0D692B","#0C672C","#0B652C","#0B642C","#0B622D","#0B602D","#0B5E2D","#0C5C2D","#0D5A2D","#0E582D","#0F562C","#0F552C","#10532C","#11512C","#124F2B","#134D2B","#144B2A","#15492A","#164729","#164528","#174327","#174127","#184026","#183E25","#193C24","#193A23","#193822","#193621","#19341F","#19321E","#19301D","#192E1C","#192C1A","#192B19","#182917","#182716","#182514","#172313"),
    "RwBbalance", 'Diverging', 'CPT-City', c("#3C0912","#3F0A13","#410A14","#440B16","#460B17","#490C18","#4B0C19","#4E0D1B","#510D1C","#530D1D","#560E1E","#580E1F","#5B0E20","#5E0E21","#600E22","#630E23","#650F24","#680F25","#6B0F25","#6D0E26","#700E27","#730E27","#760E28","#780E28","#7B0E29","#7E0E29","#800E29","#830E29","#860E29","#880F29","#8B0F29","#8D1029","#901029","#921228","#941328","#971428","#991627","#9B1727","#9D1926","#9F1B26","#A11D25","#A31F25","#A52125","#A72424","#A92624","#AB2924","#AC2B24","#AE2E24","#AF3024","#B13325","#B23525","#B33826","#B43B27","#B63D28","#B74029","#B8432B","#B9452C","#BA482E","#BB4B30","#BC4D32","#BD5034","#BE5236","#BE5538","#BF573A","#C05A3C","#C15C3F","#C25F41","#C36143","#C36346","#C46648","#C5684B","#C66B4D","#C76D50","#C76F53","#C87255","#C97458","#CA765B","#CA795D","#CB7B60","#CC7D63","#CD7F65","#CD8268","#CE846B","#CF866E","#CF8970","#D08B73","#D18D76","#D18F79","#D2927C","#D3947F","#D39681","#D49984","#D59B87","#D69D8A","#D69F8D","#D7A290","#D8A493","#D8A696","#D9A998","#DAAB9B","#DAAD9E","#DBAFA1","#DCB2A4","#DCB4A7","#DDB6AA","#DEB9AD","#DFBBB0","#DFBDB2","#E0C0B5","#E1C2B8","#E1C4BB","#E2C7BE","#E3C9C1","#E4CBC4","#E5CEC7","#E5D0CA","#E6D2CD","#E7D5CF","#E8D7D2","#E9D9D5","#EADCD8","#EBDEDB","#ECE0DE","#EDE3E0","#EEE5E3","#EFE8E6","#F0EAE9","#F1ECEB","#F1ECEC","#EEEAEA","#EBE9E9","#E9E7E7","#E6E5E6","#E3E3E4","#E1E1E3","#DEE0E1","#DBDEE0","#D8DCDE","#D5DADD","#D3D9DC","#D0D7DA","#CDD5D9","#CAD4D8","#C7D2D7","#C4D0D5","#C1CFD4","#BFCDD3","#BCCCD2","#B9CAD0","#B6C9CF","#B3C7CE","#B0C5CD","#ADC4CC","#AAC2CB","#A7C1CA","#A4BFC9","#A1BEC8","#9EBCC7","#9BBBC6","#98BAC5","#94B8C4","#91B7C3","#8EB5C3","#8BB4C2","#88B2C1","#85B1C0","#81AFC0","#7EAEBF","#7BACBF","#78ABBE","#75AABE","#71A8BD","#6EA7BD","#6BA5BC","#68A4BC","#65A2BC","#62A0BB","#5F9FBB","#5C9DBB","#599CBB","#569ABB","#5399BA","#5197BA","#4E95BA","#4B94BA","#4892BA","#4690BA","#438FBA","#408DBA","#3E8BBA","#3B89BA","#3888BA","#3686BA","#3384BA","#3083BA","#2E81BA","#2B7FBA","#297DBA","#267BBA","#237ABA","#2178BB","#1E76BB","#1B74BB","#1972BB","#1670BC","#136EBC","#116CBC","#0F6ABD","#0D68BD","#0B66BD","#0A64BE","#0A62BE","#0A60BE","#0C5EBE","#0D5BBE","#1059BE","#1357BE","#1655BD","#1952BC","#1C50BA","#1F4EB8","#214CB6","#234AB3","#2548B0","#2647AC","#2745A9","#2843A5","#2942A2","#29409E","#293F9A","#293E97","#293C93","#293B8F","#293A8C","#293888","#283784","#283681","#27347D","#27337A","#263276","#253073","#252F6F","#242E6C","#232D69","#222B65","#212A62","#21295F","#20275B","#1F2658","#1E2555","#1D2352","#1C224F","#1B214C","#1A1F49","#191E46","#181C43"),
    "Berlin", 'Diverging', 'Crameri', c("#9EB0FF","#9CB0FE","#9AB0FD","#98AFFC","#95AFFB","#93AFFA","#91AEF9","#8EAEF7","#8CAEF6","#8AAEF5","#87ADF4","#85ADF3","#82ADF2","#80ACF1","#7EACF0","#7BACEE","#79ABED","#76ABEC","#74AAEB","#71AAE9","#6FA9E8","#6CA9E6","#6AA8E5","#67A8E3","#65A7E2","#62A6E0","#60A5DF","#5DA5DD","#5BA4DB","#58A3D9","#56A2D7","#54A0D5","#519FD3","#4F9ED1","#4D9DCF","#4B9BCD","#489ACA","#4698C8","#4497C6","#4395C3","#4194C1","#3F92BE","#3E90BC","#3C8EB9","#3B8DB7","#398BB4","#3889B2","#3787AF","#3685AD","#3584AA","#3382A8","#3280A6","#327EA3","#317CA1","#307A9E","#2F789C","#2E7699","#2D7597","#2C7394","#2C7192","#2B6F8F","#2A6D8D","#296B8B","#296988","#286886","#276683","#276481","#26627F","#25607C","#245E7A","#245D78","#235B75","#225973","#225771","#21556E","#20546C","#20526A","#1F5068","#1E4E65","#1E4D63","#1D4B61","#1C495F","#1C475C","#1B465A","#1A4458","#1A4256","#194153","#193F51","#183D4F","#173C4D","#173A4B","#163849","#163747","#153544","#153342","#143240","#14303E","#132F3C","#132D3A","#122C38","#122A36","#122934","#112732","#112630","#11242E","#11232C","#11212A","#112028","#101F26","#101D25","#101C23","#111B21","#111A20","#11191E","#11181C","#11161B","#111519","#111418","#111317","#121215","#121214","#131112","#141011","#140F10","#150E0E","#160E0D","#170D0B","#180C0A","#190C09","#1A0C08","#1B0B07","#1C0B06","#1D0B05","#1E0B04","#200B04","#210B03","#220C02","#230C02","#240C02","#250C01","#260D01","#270D01","#280D01","#2A0E01","#2B0E01","#2C0E00","#2D0E00","#2F0E00","#300F00","#310F00","#330F00","#340F00","#351000","#371000","#381000","#391100","#3B1100","#3C1101","#3E1201","#3F1201","#411201","#421301","#441301","#451401","#471401","#481502","#4A1502","#4B1602","#4D1602","#4F1703","#501803","#521804","#541905","#561A05","#571B06","#591C07","#5B1D08","#5D1E09","#5F1F0A","#61200B","#63210C","#65230E","#68240F","#6A2510","#6C2711","#6E2813","#702A14","#732B16","#752D17","#772F19","#79301B","#7B321C","#7D341E","#803620","#823722","#843924","#863B26","#883D28","#8A3F2A","#8C402C","#8E422E","#904430","#924632","#944834","#964A36","#984C39","#9A4D3B","#9C4F3D","#9E513F","#A05341","#A25544","#A45746","#A65948","#A85A4A","#AA5C4C","#AC5E4F","#AE6051","#B06253","#B26455","#B46658","#B6685A","#B86A5C","#BA6B5F","#BC6D61","#BE6F63","#C07165","#C27368","#C4756A","#C6776C","#C8796F","#CA7B71","#CC7D73","#CE7F76","#D08178","#D2837A","#D5857D","#D7877F","#D98982","#DB8B84","#DD8D86","#DF8F89","#E1918B","#E3938E","#E59590","#E79792","#EA9995","#EC9B97","#EE9D9A","#F09F9C","#F2A19F","#F4A3A1","#F6A5A3","#F9A7A6","#FBA9A8","#FDABAB"),
    "Broc", 'Diverging', 'Crameri', c("#2C1A4C","#2C1B4E","#2C1D4F","#2B1E51","#2B2052","#2B2154","#2B2355","#2B2457","#2B2658","#2B275A","#2B295B","#2B2A5D","#2A2C5E","#2A2D60","#2A2E61","#2A3063","#2A3164","#2A3366","#293567","#293669","#29386A","#29396C","#293B6D","#293C6F","#293E71","#283F72","#284174","#284375","#284477","#284678","#28477A","#29497C","#294B7D","#294C7F","#294E80","#2A5082","#2A5183","#2B5385","#2C5586","#2D5788","#2E5889","#2F5A8B","#305C8C","#315E8E","#335F8F","#346191","#366392","#376593","#396695","#3B6896","#3D6A97","#3F6B99","#416D9A","#436F9B","#45719C","#47729E","#49749F","#4B76A0","#4D78A1","#5079A3","#527BA4","#547DA5","#567FA6","#5880A7","#5B82A9","#5D84AA","#5F85AB","#6187AC","#6489AD","#668BAF","#688CB0","#6B8EB1","#6D90B2","#6F92B3","#7193B5","#7495B6","#7697B7","#7899B8","#7B9BBA","#7D9CBB","#7F9EBC","#82A0BD","#84A2BE","#86A3C0","#89A5C1","#8BA7C2","#8DA9C3","#90AAC5","#92ACC6","#94AEC7","#97B0C8","#99B2CA","#9BB3CB","#9EB5CC","#A0B7CD","#A2B9CE","#A5BBD0","#A7BCD1","#AABED2","#ACC0D3","#AEC2D5","#B1C4D6","#B3C5D7","#B5C7D8","#B8C9DA","#BACBDB","#BDCDDC","#BFCFDD","#C2D0DF","#C4D2E0","#C6D4E1","#C9D6E2","#CBD8E4","#CED9E5","#D0DBE6","#D2DDE7","#D5DFE8","#D7E0E9","#D9E2EA","#DCE4EB","#DEE5EC","#E0E7EC","#E2E8ED","#E4EAED","#E6EBED","#E7ECED","#E9EDED","#EAEEEC","#EBEEEC","#ECEFEB","#EDEFE9","#EDEFE8","#EEEFE7","#EEEFE5","#EEEFE3","#EDEEE1","#EDEEDF","#ECEDDD","#ECECDB","#EBEBD9","#EAEAD6","#E9E9D4","#E8E8D2","#E7E7CF","#E6E6CD","#E5E5CB","#E4E4C8","#E3E2C6","#E1E1C4","#E0E0C1","#DFDFBF","#DEDEBD","#DDDDBA","#DCDBB8","#DADAB5","#D9D9B3","#D8D8B1","#D7D7AE","#D5D5AC","#D4D4AA","#D3D3A7","#D2D2A5","#D0D0A2","#CFCFA0","#CECE9E","#CCCC9B","#CBCB99","#C9C996","#C8C894","#C6C691","#C5C58F","#C3C38C","#C1C18A","#C0BF87","#BEBE85","#BCBC83","#BABA80","#B8B87E","#B6B67C","#B4B479","#B2B277","#B0B075","#AEAE73","#ACAC71","#AAAA6F","#A8A86D","#A6A66B","#A3A369","#A1A167","#9F9F65","#9D9D63","#9B9B62","#999960","#97975E","#95955C","#93935B","#919159","#8F8F57","#8D8D56","#8B8B54","#898952","#878751","#85854F","#83834D","#81814C","#7F7F4A","#7D7D48","#7B7B47","#797945","#777744","#757542","#747440","#72723F","#70703D","#6E6E3C","#6C6C3A","#6A6A38","#686837","#666635","#646434","#626232","#616031","#5F5F2F","#5D5D2D","#5B5B2C","#59592A","#575729","#555527","#545426","#525224","#505023","#4E4E21","#4C4C20","#4B4B1F","#49491D","#47471C","#45451A","#434319","#424218","#404016","#3E3E15","#3C3D14","#3B3B12","#393911","#373810","#36360F","#34340E","#32330C","#31310B","#2F300A","#2E2E08","#2C2C07","#2B2B05","#292904","#282802"),
    "Lisbon", 'Diverging', 'Crameri', c("#E6E5FF","#E3E3FD","#E0E2FC","#DDE0FA","#DBDEF9","#D8DCF7","#D5DAF5","#D3D8F4","#D0D6F2","#CDD4F1","#CBD2EF","#C8D0ED","#C5CEEC","#C3CCEA","#C0CAE9","#BDC8E7","#BBC6E5","#B8C4E4","#B5C2E2","#B3C0E1","#B0BEDF","#ADBCDE","#ABBADC","#A8B9DA","#A5B7D9","#A3B5D7","#A0B3D6","#9EB1D4","#9BAFD3","#98ADD1","#96ABCF","#93A9CE","#90A7CC","#8EA5CB","#8BA3C9","#89A2C8","#86A0C6","#849EC4","#819CC3","#7E9AC1","#7C98C0","#7996BE","#7794BD","#7492BB","#7290B9","#6F8EB8","#6D8DB6","#6A8BB5","#6889B3","#6587B1","#6285B0","#6083AE","#5E81AC","#5B7FAB","#597DA9","#567BA7","#5479A6","#5177A4","#4F75A2","#4C73A0","#4A729E","#48709D","#456E9B","#436C99","#416A97","#3F6895","#3D6693","#3A6491","#38628F","#36608C","#345E8A","#325C88","#305A86","#2F5984","#2D5782","#2B557F","#2A537D","#28517B","#274F78","#254E76","#244C74","#224A71","#21486F","#20476D","#1F456A","#1E4368","#1D4266","#1C4064","#1B3F61","#1A3D5F","#193C5D","#193A5A","#183958","#173756","#173653","#163451","#16334F","#15314D","#15304B","#142E48","#142D46","#132C44","#132A42","#132940","#12283E","#12273C","#12253A","#122437","#112335","#112233","#112132","#112030","#111F2E","#111E2C","#111D2A","#111C28","#111B27","#121B25","#121A24","#121A22","#121921","#131920","#13191E","#14181D","#14181C","#15181B","#15181A","#16191A","#171919","#181919","#181A18","#191A18","#1A1B18","#1B1C17","#1C1C17","#1E1D17","#1F1E18","#201F18","#212018","#232118","#242319","#252419","#27251A","#28261A","#2A281B","#2B291C","#2D2B1C","#2F2C1D","#302D1E","#322F1F","#333020","#353220","#373421","#383522","#3A3723","#3C3824","#3E3A25","#3F3C26","#413D27","#433F28","#454029","#46422A","#48442B","#4A452C","#4C472D","#4D492E","#4F4B2F","#514C31","#534E32","#555033","#575134","#585335","#5A5536","#5C5737","#5E5838","#605A39","#625C3A","#645E3C","#66603D","#68613E","#69633F","#6B6540","#6D6741","#6F6943","#716B44","#736C45","#756E46","#777047","#797249","#7B744A","#7D764B","#7F784C","#817A4E","#837B4F","#857D50","#877F52","#898153","#8B8355","#8D8556","#8F8758","#918959","#948B5B","#968D5C","#988F5E","#9A9160","#9C9361","#9E9663","#A09865","#A29A67","#A49C69","#A69E6A","#A8A06C","#ABA26E","#ADA470","#AFA772","#B1A975","#B3AB77","#B5AD79","#B7AF7B","#B9B17D","#BBB380","#BDB682","#BFB884","#C1BA87","#C3BC89","#C5BE8B","#C7C08E","#C9C390","#CBC593","#CDC795","#CFC998","#D1CB9A","#D3CD9D","#D5CF9F","#D7D2A2","#D9D4A4","#DAD6A7","#DCD8A9","#DEDAAC","#E0DCAF","#E2DEB1","#E4E1B4","#E6E3B6","#E8E5B9","#EAE7BC","#ECE9BE","#EEEBC1","#F0EEC3","#F1F0C6","#F3F2C9","#F5F4CB","#F7F6CE","#F9F8D1","#FBFBD3","#FDFDD6"),
    
    # cyclic ramps
    "Rainbow", 'Cyclic', 'R core', c("#FF0000","#FF1F00","#FF3D00","#FF5C00","#FF7A00","#FF9900","#FFB800","#FFD600","#FFF500","#EBFF00","#CCFF00","#ADFF00","#8FFF00","#70FF00","#52FF00","#33FF00","#14FF00","#00FF0A","#00FF29","#00FF47","#00FF66","#00FF85","#00FFA3","#00FFC2","#00FFE0","#00FFFF","#00E0FF","#00C2FF","#00A3FF","#0085FF","#0066FF","#0047FF","#0029FF","#000AFF","#1400FF","#3300FF","#5200FF","#7000FF","#8F00FF","#AD00FF","#CC00FF","#EB00FF","#FF00F5","#FF00D6","#FF00B8","#FF0099","#FF007A","#FF005C","#FF003D","#FF001F"),
    "RomaO",'Cyclic','Crameri', c("#733957","#743956","#753954","#753853","#763851","#773850","#77384F","#78384D","#79384C","#79384B","#7A3849","#7B3848","#7C3847","#7C3946","#7D3945","#7E3943","#7E3942","#7F3A41","#803A40","#813B3F","#813B3E","#823C3D","#833C3C","#843D3B","#843D3A","#853E39","#863F38","#874037","#874037","#884136","#894235","#8A4334","#8B4433","#8C4533","#8C4632","#8D4731","#8E4831","#8F4930","#904A30","#914C2F","#924D2F","#934E2E","#94502E","#94512D","#95522D","#96542D","#97552C","#98572C","#99582C","#9A5A2C","#9B5B2C","#9C5D2B","#9D5F2B","#9E602B","#9F622B","#A0642C","#A2662C","#A3672C","#A4692C","#A56B2D","#A66D2D","#A76F2D","#A8712E","#A9732E","#AA752F","#AB7730","#AD7930","#AE7B31","#AF7D32","#B07F33","#B18134","#B28335","#B48636","#B58837","#B68A39","#B78C3A","#B88E3B","#B9913D","#BB933F","#BC9540","#BD9842","#BE9A44","#BF9C46","#C19F47","#C2A149","#C3A34B","#C4A54E","#C5A850","#C6AA52","#C8AC54","#C9AF57","#CAB159","#CBB35C","#CCB55E","#CDB761","#CEBA63","#CFBC66","#CFBE68","#D0C06B","#D1C26E","#D2C470","#D2C673","#D3C876","#D4C978","#D4CB7B","#D4CD7E","#D5CE81","#D5D083","#D5D186","#D6D388","#D6D48B","#D6D58E","#D6D790","#D6D893","#D5D995","#D5DA98","#D5DB9A","#D4DC9C","#D4DD9F","#D3DDA1","#D3DEA3","#D2DFA5","#D1DFA7","#D0E0A9","#CFE0AB","#CEE0AD","#CDE1AF","#CCE1B1","#CBE1B3","#CAE1B5","#C8E1B6","#C7E1B8","#C5E1B9","#C4E1BB","#C2E1BC","#C1E1BE","#BFE1BF","#BDE0C0","#BBE0C2","#B9DFC3","#B8DFC4","#B6DEC5","#B4DEC6","#B1DDC7","#AFDCC8","#ADDCC8","#ABDBC9","#A9DACA","#A7D9CB","#A4D8CB","#A2D7CC","#A0D6CC","#9DD5CD","#9BD4CD","#99D3CE","#96D1CE","#94D0CE","#92CFCE","#8FCECF","#8DCCCF","#8BCBCF","#88C9CF","#86C8CF","#84C6CF","#81C5CF","#7FC3CF","#7DC2CE","#7BC0CE","#78BECE","#76BDCE","#74BBCD","#72B9CD","#70B8CD","#6EB6CC","#6CB4CC","#6AB2CB","#68B1CB","#67AFCA","#65ADCA","#63ABC9","#62A9C9","#60A8C8","#5FA6C7","#5DA4C7","#5CA2C6","#5AA0C5","#599EC4","#589CC4","#579BC3","#5699C2","#5597C1","#5495C0","#5393BF","#5291BE","#528FBD","#518DBC","#508BBB","#508ABA","#4F88B9","#4F86B8","#4F84B7","#4F82B6","#4E80B4","#4E7EB3","#4E7CB2","#4E7AB0","#4F78AF","#4F76AE","#4F75AC","#4F73AB","#5071A9","#506FA8","#516DA6","#516BA4","#5269A3","#5267A1","#53669F","#54649E","#54629C","#55609A","#565F98","#575D96","#575B94","#585993","#595891","#5A568F","#5B558D","#5C538B","#5C5289","#5D5087","#5E4F85","#5F4D83","#604C81","#614B7F","#62497D","#63487B","#634779","#644677","#654576","#664474","#674372","#684270","#68416E","#69406C","#6A3F6B","#6B3F69","#6C3E67","#6C3D65","#6D3D64","#6E3C62","#6F3B60","#6F3B5F","#703A5D","#713A5C","#723A5A"),
    "BrocO",'Cyclic','Crameri', c("#372F38","#362F39","#362F3A","#362F3B","#362F3C","#36303D","#36303F","#363040","#363041","#363143","#363144","#363246","#363247","#363349","#36334A","#36344C","#36354E","#363550","#363651","#363753","#363855","#363957","#373A59","#373B5B","#373C5C","#373D5E","#373F60","#384062","#384164","#384366","#394468","#39456A","#3A476C","#3A486F","#3B4A71","#3B4C73","#3C4D75","#3D4F77","#3E5179","#3E527B","#3F547C","#40567E","#415780","#425982","#435B84","#445D86","#455E88","#47608A","#48628B","#49648D","#4A668F","#4C6790","#4D6992","#4F6B94","#506D95","#526F97","#537099","#55729A","#56749C","#58769D","#5A789F","#5B79A0","#5D7BA2","#5F7DA3","#617FA5","#6381A6","#6482A7","#6684A9","#6886AA","#6A88AB","#6C89AD","#6E8BAE","#708DAF","#728FB1","#7490B2","#7692B3","#7894B4","#7A96B6","#7C97B7","#7E99B8","#809BB9","#829DBA","#849EBB","#86A0BD","#88A2BE","#8AA3BF","#8CA5C0","#8EA7C1","#91A8C2","#93AAC3","#95ACC4","#97ADC5","#99AFC6","#9BB1C7","#9DB2C8","#9FB4C8","#A1B5C9","#A3B7CA","#A5B8CB","#A7BACC","#A9BBCC","#ABBDCD","#ADBECD","#AFC0CE","#B1C1CE","#B3C2CF","#B5C4CF","#B7C5D0","#B8C6D0","#BAC8D0","#BCC9D0","#BDCAD0","#BFCBD0","#C1CCD0","#C2CDD0","#C4CED0","#C5CFCF","#C6CFCF","#C7D0CE","#C9D1CE","#CAD1CD","#CBD2CC","#CBD2CB","#CCD3CB","#CDD3CA","#CED3C8","#CED3C7","#CFD3C6","#CFD3C5","#CFD3C3","#CFD3C2","#CFD3C0","#CFD3BE","#CFD2BD","#CFD2BB","#CFD1B9","#CED0B7","#CED0B5","#CDCFB3","#CDCEB1","#CCCDAF","#CBCCAD","#CACBAB","#C9CAA9","#C8C9A6","#C7C8A4","#C6C6A2","#C5C5A0","#C4C49D","#C2C29B","#C1C199","#BFBF96","#BEBE94","#BCBC92","#BBBB90","#B9B98D","#B8B78B","#B6B689","#B4B486","#B3B284","#B1B082","#AFAF7F","#ADAD7D","#ABAB7B","#AAA979","#A8A777","#A6A574","#A4A472","#A2A270","#A0A06E","#9E9E6C","#9D9C6A","#9B9A68","#999866","#979664","#959462","#939260","#91915E","#8F8F5C","#8D8D5A","#8B8B59","#898957","#888755","#868553","#848351","#828150","#807F4E","#7E7E4C","#7C7C4B","#7B7A49","#797848","#777646","#757445","#737243","#727142","#706F41","#6E6D3F","#6C6B3E","#6B693D","#69683B","#67663A","#666439","#646238","#626137","#615F36","#5F5D35","#5E5C34","#5C5A33","#5B5932","#595731","#585530","#56542F","#55522E","#54512E","#524F2D","#514E2D","#504D2C","#4F4B2B","#4D4A2B","#4C482B","#4B472A","#4A462A","#49452A","#484329","#474229","#464129","#454029","#443F29","#433E29","#423D29","#423C29","#413B29","#403A29","#3F3929","#3F3829","#3E382A","#3E372A","#3D362A","#3C352B","#3C352B","#3B342B","#3B342C","#3B332C","#3A332D","#3A322E","#39322E","#39312F","#393130","#383030","#383031","#383032","#383033","#372F34","#372F35","#372F36"),
    "VikO",'Cyclic','Crameri', c("#4F1A3D","#4E1A3E","#4E1B3F","#4D1B41","#4C1C42","#4B1D43","#4B1D44","#4A1E46","#491F47","#482049","#48214A","#47214B","#46224D","#45234E","#452450","#442551","#432653","#432754","#422856","#412958","#402A59","#3F2C5B","#3F2D5D","#3E2E5E","#3D2F60","#3D3162","#3C3263","#3B3365","#3A3567","#3A3668","#39386A","#38396C","#383B6E","#373C6F","#363E71","#363F73","#354174","#354376","#344478","#34467A","#34487B","#34497D","#334B7F","#334D80","#334F82","#335184","#335285","#345487","#345689","#34588A","#355A8C","#355C8D","#365E8F","#375F90","#386192","#396394","#3A6595","#3B6797","#3C6998","#3D6B9A","#3F6D9B","#406F9C","#42719E","#43739F","#4575A1","#4777A2","#4979A4","#4B7BA5","#4D7DA6","#4F7FA8","#5181A9","#5383AB","#5585AC","#5787AD","#5A89AF","#5C8BB0","#5E8DB1","#618FB2","#6391B4","#6693B5","#6895B6","#6B97B7","#6D98B8","#709ABA","#729CBB","#759EBC","#78A0BD","#7AA2BE","#7DA4BF","#80A5C0","#83A7C1","#85A9C2","#88AAC2","#8BACC3","#8EAEC4","#90AFC5","#93B1C5","#96B2C6","#99B4C6","#9BB5C7","#9EB6C7","#A1B8C8","#A4B9C8","#A6BAC8","#A9BBC8","#ABBCC8","#AEBDC8","#B0BEC8","#B3BFC8","#B5C0C8","#B8C0C7","#BAC1C7","#BCC1C6","#BEC2C6","#C0C2C5","#C2C2C4","#C4C2C3","#C6C3C2","#C8C3C1","#C9C2C0","#CBC2BF","#CDC2BE","#CEC2BC","#CFC1BB","#D1C1B9","#D2C0B8","#D3C0B6","#D4BFB5","#D5BEB3","#D5BDB1","#D6BDAF","#D7BCAD","#D7BBAC","#D8BAAA","#D8B8A8","#D9B7A6","#D9B6A4","#D9B5A1","#D9B49F","#D9B29D","#D9B19B","#D9AF99","#D9AE97","#D9AC94","#D9AB92","#D9A990","#D8A88D","#D8A68B","#D8A589","#D7A387","#D7A184","#D6A082","#D59E80","#D59C7D","#D49A7B","#D49879","#D39776","#D29574","#D19372","#D0916F","#D08F6D","#CF8D6B","#CE8B68","#CD8A66","#CC8864","#CB8661","#CA845F","#C8825D","#C7805B","#C67E58","#C57C56","#C47954","#C27752","#C1754F","#C0734D","#BE714B","#BD6F49","#BB6D47","#BA6A45","#B86843","#B76641","#B5643F","#B3623D","#B25F3B","#B05D39","#AE5B37","#AC5935","#AA5633","#A95432","#A75230","#A5502F","#A34D2D","#A14B2C","#9F492A","#9D4729","#9B4528","#994327","#974126","#953E25","#933C24","#913B23","#8F3922","#8D3721","#8C3521","#8A3320","#883120","#86301F","#842E1F","#822C1F","#812B1E","#7F291E","#7D281E","#7C271E","#7A251E","#79241E","#77231E","#76221F","#74211F","#73201F","#721F1F","#701E20","#6F1D20","#6E1C20","#6C1B21","#6B1A21","#6A1A22","#691922","#681923","#671823","#661824","#651725","#641725","#631626","#621627","#611627","#601628","#5F1629","#5E152A","#5D152B","#5C152B","#5B152C","#5A152D","#5A152E","#59152F","#581630","#571631","#561632","#561633","#551634","#541735","#531736","#531737","#521838","#511839","#50193A"),
    
    
    # palettes
    "MntHydro",'Qualitative','Custom', c('232365','FFCD00','AAAAAA','7b942e','deebf6','202030','FFECA2','454545','dfebbd','9b7f0a','1E5E37'),
    "UUmain",'Qualitative','Utrecht University', c('FFCD00','C00A35','000000','094D8E','36A2C9','791D72','9A0000','F08000','FEF200','419702'),
    "UUalt",'Qualitative','Utrecht University', c('FFE6AB','F3965E','AA1555','6E3B23','24A793','5287C6','001240','5B2182'),
    "Set1",'Qualitative','ColorBrewer',  c("E41A1C","377EB8","4DAF4A","984EA3","FF7F00","FFFF33","A65628","F781BF","999999"),
    "Set2",'Qualitative','ColorBrewer', c("66C2A5","FC8D62","8DA0CB","E78AC3","A6D854","FFD92F","E5C494","B3B3B3"),
    "Set3",'Qualitative','ColorBrewer', c("8DD3C7","FFFFB3","BEBADA","FB8072","80B1D3","FDB462","B3DE69","FCCDE5","D9D9D9","BC80BD","CCEBC5"),
    "Pastel1",'Qualitative','ColorBrewer', c("FBB4AE","B3CDE3","CCEBC5","DECBE4","FED9A6","FFFFCC","E5D8BD","FDDAEC","F2F2F2"),
    "Pastel2",'Qualitative','ColorBrewer', c("B3E2CD","FDCDAC","CBD5E8","F4CAE4","E6F5C9","FFF2AE","F1E2CC","CCCCCC"),
    "Accent",'Qualitative','ColorBrewer',  c("7FC97F","BEAED4","FDC086","FFFF99","386CB0","F0027F","BF5B17","666666"),
    "Dark",'Qualitative','ColorBrewer', c("1B9E77","D95F02","7570B3","E7298A","66A61E","E6AB02","A6761D","666666"),
    "Google",'Qualitative','Internet',  c('008744','0057e7','d62d20','ffa700','000000'),
    "Raven",'Qualitative','Internet', c('0e1a40','222f5b','5d5d5d','946b2d','000000'),
    "Muted",'Qualitative','Internet', c('2e4045','83adb5','c7bbc9','5e3c58','bfb5b2'),
    "Cappuccino",'Qualitative','Internet', c('4b3832','854442','E5DBCF','3c2f2f','be9b7b'),
    "Pale1",'Qualitative','Internet', c('c4b2c2','b38d97','d5aca9','ebcfb2','c5baaf'),
    "Water",'Qualitative','Internet', c('b9d6f2','084c61','061a40','0353a4','2d93ad'),
    "Skin",'Qualitative','Internet', c('d8e2dc','ffe5d9','ffcad4','f4acb7','9d8189'),
    "NS",'Qualitative','Internet', c('06aed5','086788','f0c808','f9e39f','dd1c1a'),
    "Legendary",'Qualitative','Internet', c('5bc0eb','fde74c','9bc53d','e55934','fa7921'),
    "WarmWall",'Qualitative','Internet', c('d1cebe','e07a5f','3d405b','81b29a','f2cc8f'),
    "Oasis",'Qualitative','Internet', c('000000','839788','eee0cb','baa898','bfd7ea'),
    "Earthly",'Qualitative','Internet', c('537d99','def2c8','bbc451','9a9b58','8f451f'),
    "A3",'Qualitative','Internet', c('1c3144','d00000','ffba08','a2aebb','3f88c5'),
    "AfterCold",'Qualitative','Internet', c('171219','225560','edf060','f0803c','310d20'),
    "Swoop",'Qualitative','Internet', c('dd7373','3b3561','ead94c','d1d1d1','51a3a3'),
    "BurbleTeal",'Qualitative','Internet', c('2d3047','93b7be','e0ca3c','a799b7','048a81'),
    "LGBT",'Qualitative','CPT-City', c("#750787","#004DFF","#008026","#FFED00","#FF8C00","#E40303"),
  )
  
  # Error message in case of unknown color name
  if (sum(tolower(coldat$name) %in% tolower(name))==0){
    stop(paste0('Color name not available.\n\nChoose any of:\n',paste(sort(coldat$name),collapse=', '),
                '\n\n','Use ramp(show=TRUE) or pal(show=TRUE) to plot all color ramps/palettes, types and names.'))
  }
  
  # function to extract correct color from table
  getPal <- function(name){
    coldat$colors[[which(tolower(coldat$name) %in% tolower(name))]]
  }
  # function to extract type for color ramp
  getType <- function(name){
    coldat$type[[which(tolower(coldat$name) %in% tolower(name))]]
  }
  
  # force default number
  if (is.null(number)){
    nodefnum <- T
    if(getType(name)=='Qualitative'){
      number <- length(getPal(name))
    }else{
      number <- 100
    }
  }else{
    nodefnum <- F
  }
  
  # force a hash at beginning of the hexcol
  coldat$colors <- lapply(coldat$colors, function(x) tolower(paste0('#',gsub('#','',x))))
  
  # Make plot of available colors
  if (show){ # make plot of available ramps
    
    x11(bg='#2d2d2d', height=9.5, width=13)
    
    if(nodefnum){
      number <- 50
    }
    
    # split the classes, sort alphabetically, and merge back
    plotdat        <- split(coldat,coldat$type)[c(4,2,1,3)]
    plotdat        <- do.call(rbind,lapply(plotdat, function(x) x[order(x$name),]))
    

    # add blank row at type change
    typechange <- which(plotdat$type[-1] != plotdat$type[-nrow(plotdat)])
    plotdat <- rbind(plotdat[1:typechange[1],], c(NA,NA,NA,NA),
                     plotdat[(typechange[1]+1):typechange[2],], c(NA,NA,NA,NA),
                     plotdat[(typechange[2]+1):typechange[3],], c(NA,NA,NA,NA),
                     plotdat[(typechange[3]+1):nrow(plotdat),]
                     )

    rampdat <- plotdat[plotdat$type!='Qualitative',]
    rampdat <- rampdat[-nrow(rampdat),]
    rampdat$colors <- lapply(rampdat$colors, function(x){
      if (length(x)<2){
        return(rep(NA,number))
      }else{
        return(colorRampPalette(x)(number))
      }
    })
    paldat  <- plotdat[plotdat$type=='Qualitative',]
    paldat  <- paldat[-c(1:2),]
    
    # make plot
    op  <- par(mar=c(0.5,9,2.5,6.5), mfcol=c(1,2))
    barheight <- 0.7
    namecex <- 0.9
    typecex <- 1.5
    sourcex <- 0.65
    
    # ramp plot ==========
    plot(NA,axes=F,xlab='',ylab='',ylim=c(0,nrow(rampdat)+1), xlim=c(0,number), xaxs='i', yaxs='i')
    for (i in 1:nrow(rampdat)){
      ncolors=number
      for (j in 1:ncolors){
        irev <-  (length(rampdat$name):1)[i]
        polygon(x=c(j-1,j,j,j-1), y=c(rep(irev-0.5*barheight,2),rep(irev+0.5*barheight,2)), border=NA, col=rampdat$colors[[i]][j])
      }
      if (!is.na(plotdat$name[i])){
        polygon(x=c(0,number,number,0),y=c(rep(irev-0.5*barheight,2),rep(irev+0.5*barheight,2)), border='black', col=NA, lwd=0.5)
      }
    }
    mtext(rampdat$name, side=2, line=0.5, at=nrow(rampdat):1,padj=0.5,adj=1,las=2, cex=namecex, col='white', font=2)
    mtext(rampdat$source, side=4, line=0.5, at=nrow(rampdat):1,padj=0.5,adj=0,las=2, cex=sourcex, col='white')
    # add class labels
    classpos   <- sapply(split(rev(seq(nrow(rampdat))),rampdat$type), mean)
    mtext(names(classpos), side=2, line=7, cex=typecex, at=classpos, col='white',font=2)
    # add title
    mtext('Color ramps', side=3, line=0.5, cex=typecex*1.2, at=number/2, col='white',font=2)
    
    
    # pal plot =========
    plot(NA,axes=F,xlab='',ylab='',ylim=c(0,nrow(paldat)+1), xlim=c(0,1), xaxs='i', yaxs='i')
    for (i in 1:nrow(paldat)){
      ncolors <- length(paldat$colors[[i]])
      delta   <- 1/ncolors
      for (j in 1:ncolors){
        p <- j/ncolors
        irev <-  (length(paldat$name):1)[i]
        polygon(x=c(p-delta,p,p,p-delta), y=c(rep(irev-0.5*barheight,2),rep(irev+0.5*barheight,2)), border=NA, col=paldat$colors[[i]][j])
      }
      if (!is.na(plotdat$name[i])){
        polygon(x=c(0,1,1,0),y=c(rep(irev-0.5*barheight,2),rep(irev+0.5*barheight,2)), border='black', col=NA, lwd=0.5)
      }
    }
    mtext(paldat$name, side=2, line=0.5, at=nrow(paldat):1,padj=0.5,adj=1,las=2, cex=namecex, col='white', font=2)
    mtext(paldat$source, side=4, line=0.5, at=nrow(paldat):1,padj=0.5,adj=0,las=2, cex=sourcex, col='gray80')
    # add class labels
    classpos   <- sapply(split(rev(seq(nrow(paldat))),paldat$type), mean)
    mtext(names(classpos), side=2, line=7, cex=typecex, at=classpos, col='white', font=2)
    # add title
    mtext('Color palettes', side=3, line=0.5, cex=typecex*1.2, at=1/2, col='white',font=2)
    
    par(op)
    warning('No color output when "show=TRUE", only an external plot with available ramps and palettes')
    
    
    
  }else{ # generate output
    
    colpal   <- getPal(name)
    coltype  <- getType(name)
    
    if (reversed){colpal <- rev(colpal)}
    if (random){colpal   <- sample(colpal)}
    if (center!=0.5){
      if (coltype == 'Qualitative'){stop('Center should be 0.5 for qualitative palettes.')}
      censcl  <- center*1e3 + 1
      colvec  <- colorRampPalette(colpal)(1e4+1)
      sampind <- approx(y=c(0,500,1000), x=c(0,censcl,1000), xout=0:1000)$y
      sampind <- as.integer(sampind * 10 +1)
      colpal  <- colvec[sampind]
    }
    if (coltype=='Qualitative'){
      if (number>length(colpal)){
        outcolors <- rep(colpal,ceiling(number/length(colpal)))[1:number]
        warning(paste0('The qualitative ',toupper(name),' palette has only ',length(colpal), ' colors. Recycling colors up to desired number.'))
      }else{
        outcolors <- colpal[1:number]
      }
    }else{
      outcolors <- colorRampPalette(colpal)(number)
    }
    
    if (collapse){
      cat(pkrf::collapseString(outcolors, quotes=T), '\n')
      warning('\nOnly collapsed string of colors printed to stdout because collapse=TRUE')
    }else{
      return(outcolors)
    }
  }
}

#' @rdname ramp
#' @export
pkRamp <- ramp



#' Load preset color palettes and ramps
#'
#' Load color ramps and palettes from presets. Identical to \code{pkrf::ramp()} besides default pallete.
#' @param name Name of the color ramp (string).
#' @param ... Other arguments passed to \code{pkrf::ramp()}
#' @return Vector with hex colors strings. 
#' @export
pal <- function(name='MntHydro', ...){
  pkrf::ramp(name, ...)
}

#' @rdname pal
#' @export
pkPal <- pal




# convert cpt files to  a color vector
cpt2hexvec <- function(fn, rev=F){
  require(stringr)
  s   <- readLines(fn)
  s   <- s[!grepl('#',s,)]
  s   <- s[!grepl('^B',s)]
  s   <- s[!grepl('^F',s)]
  s   <- s[!grepl('^N',s)]
  s   <- gsub("\\s+", " ",s)
  s   <- str_split(s, ' ')
  if(rev){s <- rev(s)}
  hex <- sapply(s, function(x) rgb(as.numeric(x[2])/255,as.numeric(x[3])/255,as.numeric(x[4])/255))
  cat(paste0('c(',paste0('"',hex,collapse='",'),'"),'))
}
kraaijenbrink/pkrf documentation built on July 4, 2023, 10:16 p.m.