On Dec 29, 2009, at 3:35 AM, Dominik Szczerba wrote:
> Tony S Yu wrote:
>> 
>> Hey Dominik,
>> 
>> I'd also like to see the default color_cycle be customizeable. But, if
>> I'm not mistaken, this approach doesn't quite do what you want (at least
>> it doesn't on a recent version of mpl). The problem is that the color
>> given by lines.color (rcParam) sort of overrides the first color in the
>> specified color cycle (see
>> ``_process_plot_var_args._clear_color_cycle`` in  axes.py). 
>> 
>> It seems important for lines.color and the first color in the color
>> cycle to match since this matching is also enforced in
>> ``axes.set_default_color_cycle``, except in reverse (the first color in
>> the color cycle overrides line.color). If both lines.color and
>> axes.color_cycle (or maybe lines.color_cycle) are rcParams, there would
>> be issues with how to match the two (e.g. which takes precedence if they
>> differ).
>> 
>> As I said earlier, I'd like to see this change made, but I think it may
>> change the current behavior. Maybe a mpl developer could weigh in?
>> 
>> -Tony
> 
> Hi Tony,
> You are correct, line color overrides the first cycle color. That does
> not appear a very happy choice to me but this way or another you can
> still specify BOTH lines.color and the cycle in the param file to get
> whatever you want, no?
> 
> Dominik

Yup, that should do exactly what you want. But, since it's a bit of a hack (you 
should only need to make 1 change to matplotlibrc), I doubt this patch would be 
appropriate for the main distribution. 

Ideally, we'd need to figure out if the matplotlibrc changes 1) only 
lines.color and make this the first color in color_cycle, 2) only 
lines.color_cycle and make the first color override lines.color, or 3) both 
lines.color and lines.color_cycle (behavior unknown if colors don't match). 
Unfortunately, I don't see an easy way to tell if rcParams have been changed 
from their default values. 

Actually, the best case IMO, would be if lines.color was deprecated and 
lines.color_cycle[0] (or maybe lines.colors[0]) was used in its place. However, 
this change breaks compatibility.

-Tony
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to