-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Tony S Yu wrote: > 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.
Hi Tony, My patches (there were two!) remove the badly hardcoded definition of defaultColors in axes.py and instead define default axes.color_cycle in rcsetup.py (defaulting it to the already established color array ['b','g','r','c','m','y','k']). Now, in axes.py, defaultColors are taken from rcParams, and not a hardcoded array, so unless you modify your own rc file, you will get the old behavior. It is if and only if you define your color_cycle in your own rc file that will do anything new. I do not see how this introduces any incompatibilities. Dominik > > 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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAks6bAoACgkQ/EBMh9bUuzJ84QCeIzUXldnM1nn8DPyynPL55Jpz jAkAn1kOSchjSucIymn7CaNIGM1PrLI5 =Fp00 -----END PGP SIGNATURE----- ------------------------------------------------------------------------------ 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