#!/usr/bin/env python # coding: utf-8 # ## Cufflinks Colors # # Cufflinks also provides a wide set of tools for color managements; including color conversion across multiple spectrums and color table generation. # In[2]: import cufflinks as cf # Colors can be represented as strings: # # **HEX** `"#db4052"` # **RGB** `"rgb(219, 64, 82)"` # **RGBA** `"rgba(219, 64, 82, 1.0)"` # # ### Color Conversions # In[ ]: # The colors module includes a pre-defined set of commonly used colors cf.colors.cnames # In[7]: # HEX to RGB cf.colors.hex_to_rgb('red') # In[8]: # RGB to HEX cf.colors.rgb_to_hex('rgb(219, 64, 82)') # In[10]: # RGB or HEX to RGBA (transparency) cf.colors.to_rgba('#3780bf',.5), cf.colors.to_rgba('rgb(219, 64, 82)',.4) # In[11]: # RGBA to RGB (flatten transparency) # By default assumes that the transparency color is *white*, however this can be also passed as a parameter. cf.colors.rgba_to_rgb('rgba(219, 64, 82, 0.4)','white') # ### Normalization # In[12]: # Cufflinks.colors.normalize will always return the an hex value for all types of colors colors=['#f08','rgb(240, 178, 185)','rgba(219, 64, 82, 0.4)','green'] [cf.colors.normalize(c) for c in colors] # ### Color Ranges # # A range of colors can be generated using a base color and varying the saturation. # In[13]: # 10 different tones of pink cf.colors.color_range('pink',10) # ### Color Tables # # This function is meant to be used in an **iPython Notebook**. # It generates an HTML table to display either a defined list of colors or to automatically generate a range of colors. # In[14]: # Displaying a table of defined colors (list) colors=['#f08', 'rgb(240, 178, 185)', 'blue' , '#32ab60'] cf.colors.color_table(colors) # In[15]: # Generating 15 shades of orange cf.colors.color_table('orange',15) # ### Color Generators # # A color generator can be used to produce shades of colors in an iterative form. For example when plotting N timeseries so the color used are as distinctive as possible. # In[16]: # Create a generator using 3 defined base colors colors=['green','orange','blue'] gen=cf.colors.colorgen(colors) outputColors=[gen.next() for _ in range(15)] cf.colors.color_table(outputColors) # In[17]: # Create a generator with default set of colors gen=cf.colors.colorgen() outputColors=[gen.next() for _ in range(15)] cf.colors.color_table(outputColors) # In[ ]: # We can see all available scales with cf.get_scales() # In[19]: # Other color scales can be also seen here cf.colors.scales() # In[20]: colorscale=cf.colors.get_scales('accent') cf.colors.color_table(colorscale)