Changeset 170 for trunk/pycha/chart.py

Show
Ignore:
Timestamp:
03/18/09 15:35:07 (3 years ago)
Author:
lgs
Message:

Implement different color schemes. Fixes #29

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pycha/chart.py

    r169 r170  
    1717 
    1818import copy 
     19import inspect 
    1920import math 
    2021 
     
    121122        colorSchemeClass = ColorScheme.getColorScheme(name, None) 
    122123        if colorSchemeClass is None: 
    123             raise ValueError('Color scheme is invalid!') 
    124  
     124            raise ValueError('Color scheme "%s" is invalid!' % name) 
     125 
     126        # Remove invalid args before calling the constructor 
    125127        kwargs = dict(self.options.colorScheme.args) 
     128        validArgs = inspect.getargspec(colorSchemeClass.__init__)[0] 
     129        kwargs = dict([(k, v) for k, v in kwargs.items() if k in validArgs]) 
    126130        self.colorScheme = colorSchemeClass(keys, **kwargs) 
    127131 
     
    672676    colorScheme=Option( 
    673677        name='gradient', 
    674         args=Option(initialColor=DEFAULT_COLOR), 
     678        args=Option( 
     679            initialColor=DEFAULT_COLOR, 
     680            colors=[], 
     681            ), 
    675682    ), 
    676683    title=None,