Code Search for Developers
 
 
  

colours.py from matplotlib at Krugle


Show colours.py syntax highlighted

"""
Some simple functions to generate colours.
"""
from Numeric import asarray
from matplotlib.mlab import linspace
from matplotlib.colors import colorConverter
from Numeric import sum

def pastel(colour, weight=2.4):
    """ Convert colour into a nice pastel shade"""
    rgb = 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 = sum(rgb)
    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 = 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 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/
    500hgtdata.gz
    500hgtlats.gz
    500hgtlons.gz
    chandra.dat
    eeg.dat
    etopo20data.gz
    etopo20lats.gz
    etopo20lons.gz
    hst.zdat
    intc.csv
    msft.csv
    s1045.ima
  __init__.py
  align_text.py
  align_text_large.png
  align_text_small.png
  alignment_test.py
  axes_demo.py
  axes_demo_large.png
  axes_demo_small.png
  barchart_demo.py
  barchart_demo_large.png
  barchart_demo_small.png
  colours.py
  contour_shot.py
  contour_small.png
  data_helper.py
  date_demo.py
  date_demo_large.png
  date_demo_small.png
  eeg.py
  eeg_large.png
  eeg_small.png
  etopo20data.gz
  etopo20lats.gz
  etopo20lons.gz
  fill_demo.py
  fill_demo_large.png
  fill_demo_small.png
  finance_work2.py
  finance_work2_large.png
  finance_work2_small.png
  helpers.py
  histogram_demo.py
  histogram_demo_large.png
  histogram_demo_small.png
  hstdemo.py
  layer_images.py
  layer_images_large.png
  layer_images_small.png
  legend_demo.py
  legend_demo_large.png
  legend_demo_small.png
  log_shot.png
  log_shot.py
  log_shot_large.png
  log_shot_small.png
  logo.png
  makeshots.py
  mathtext_demo.py
  mathtext_demo_large.png
  mathtext_demo_small.png
  matplotlibrc
  mri_demo.py
  mri_with_eeg.py
  mri_with_eeg_large.png
  mri_with_eeg_small.png
  msft_nasdaq_d.csv
  pcolor_demo.py
  pcolor_demo_large.png
  pcolor_demo_small.png
  pfm-lsm.png
  pie_demo.py
  pie_demo_large.png
  pie_demo_small.png
  plotmap.py
  plotmap_large.png
  plotmap_small.png
  polar_demo.py
  polar_demo_large.png
  polar_demo_small.png
  proj.py
  scatter_demo2.py
  scatter_demo2_large.png
  scatter_demo2_small.png
  simple_plot.py
  simple_plot_large.png
  simple_plot_small.png
  slider_demo.py
  slider_demo_large.png
  slider_demo_small.png
  subplot_demo.py
  subplot_demo_large.png
  subplot_demo_small.png
  table_demo.py
  table_demo_large.png
  table_demo_small.png
  tex_demo.py
  tex_demo_large.png
  tex_demo_small.png
  text_themes.py
  text_themes_large.png
  text_themes_small.png
  wheeler_demo.py
  wheeler_demo_large.png
  wheeler_demo_small.png