Code Search for Developers
 
 
  

colours.py from matplotlib at Krugle


Show colours.py syntax highlighted

#!/usr/bin/env python
"""
Some simple functions to generate colours.
"""
import numpy as npy
from matplotlib.colors import colorConverter

def pastel(colour, weight=2.4):
    """ Convert colour into a nice pastel shade"""
    rgb = npy.asarray(colorConverter.to_rgb(colour))
    # scale colour
    maxc = max(rgb)
    if maxc < 1.0 and maxc > 0:
        # scale colour
        scale = 1.0 / maxc
        rgb = rgb * scale
    # now decrease saturation
    total = rgb.sum()
    slack = 0
    for x in rgb:
        slack += 1.0 - x

    # want to increase weight from total to weight
    # pick x s.t.  slack * x == weight - total
    # x = (weight - total) / slack
    x = (weight - total) / slack

    rgb = [c + (x * (1.0-c)) for c in rgb]

    return rgb

def get_colours(n):
    """ Return n pastel colours. """
    base = npy.asarray([[1,0,0], [0,1,0], [0,0,1]])

    if n <= 3:
        return base[0:n]

    # how many new colours to we need to insert between
    # red and green and between green and blue?
    needed = (((n - 3) + 1) / 2, (n - 3) / 2)

    colours = []
    for start in (0, 1):
        for x in npy.linspace(0, 1, needed[start]+2):
            colours.append((base[start] * (1.0 - x)) +
                           (base[start+1] * x))

    return [pastel(c) for c in colours[0:n]]





See more files for this project here

matplotlib

Matplotlib is a pure python plotting library with the goal of making\r\npublication quality plots using a syntax familiar to matlab users. \r\nThe library uses Numeric for handling large\r\ndata sets and supports a variety of output backends

Project homepage: http://sourceforge.net/projects/matplotlib
Programming language(s): C,C++,Python
License: other

  data/
  units/
  widgets/
  README
  README.wx
  __init__.py
  accented_text.py
  agg_buffer_to_array.py
  agg_oo.py
  agg_resize.py
  agg_test.py
  alignment_test.py
  anim.py
  anim_tk.py
  animation_blit.py
  animation_blit_fltk.py
  animation_blit_qt.py
  animation_blit_qt4.py
  animation_blit_tk.py
  animation_blit_wx.py
  annotation_demo.py
  anscombe.py
  arctest.py
  arrow_demo.py
  axes_demo.py
  axes_props.py
  axhspan_demo.py
  axis_equal_demo.py
  backend_driver.py
  bar_stacked.py
  barchart_demo.py
  barcode_demo.py
  barh_demo.py
  boxplot_demo.py
  break.py
  broken_barh.py
  clippath_test.py
  clippedline.py
  collections_demo.py
  color_by_yvalue.py
  color_demo.py
  colorbar_only.py
  colours.py
  contour_demo.py
  contour_image.py
  contourf_demo.py
  coords_demo.py
  coords_report.py
  csd_demo.py
  cursor_demo.py
  custom_figure_class.py
  custom_ticker1.py
  customize_rc.py
  dannys_example.py
  dash_control.py
  dashpointlabel.py
  dashtick.py
  data_browser.py
  data_helper.py
  date_demo1.py
  date_demo2.py
  date_demo_convert.py
  date_demo_rrule.py
  date_index_formatter.py
  dynamic_collection.py
  dynamic_demo.py
  dynamic_demo_wx.py
  dynamic_image_gtkagg.py
  dynamic_image_wxagg.py
  dynamic_image_wxagg2.py
  ellipse_demo.py
  ellipse_rotated.py
  embedding_in_gtk.py
  embedding_in_gtk2.py
  embedding_in_gtk3.py
  embedding_in_qt.py
  embedding_in_qt4.py
  embedding_in_tk.py
  embedding_in_tk2.py
  embedding_in_wx.py
  embedding_in_wx2.py
  embedding_in_wx3.py
  embedding_in_wx4.py
  errorbar_demo.py
  errorbar_limits.py
  figimage_demo.py
  figlegend_demo.py
  figtext.py
  fill_between.py
  fill_between_posneg.py
  fill_demo.py
  fill_demo2.py
  fill_spiral.py
  finance_demo.py
  font_indexing.py
  font_table_ttf.py
  fonts_demo.py
  fonts_demo_kw.py
  ftface_props.py
  ganged_plots.py
  gdtest.py