The above thread includes two reasonable requests:
1) add color cycle as an rcParam
2) add a line style cycle as well
The first of these is easier to implement, although it requires a bit more than the patch provided. Questions:
1) Should the the color_cycle be in the axes group? Although it affects lines, it is defined only at the Axes level, and affects only lines drawn by plot.
Alternative: since it affects only plot, should there be a new "plot" group to make that explicit, so it would be rcParams['plot.color_cycle']?
2) It was pointed out that there is a strange connection between the color cycle and the lines.color rcParam. This connection looks to me like a bit of legacy that can be dropped with little risk of pain in user land, since the default would still be to have the initial color in the cycle (blue) be the same as the default lines.color (blue). The proposed difference is that setting lines.color would have no effect on the color_cycle, and vice-versa. John, I think the present connection dates all the way back to your work around svn r500 or so; please tell me if there is some compelling reason to keep it. It appears to me that breaking the connection would make both the code and the actual mpl behavior simpler and less surprising, with no loss of useful functionality.
3) Would it make sense to add color_cycle to the Axes API, so that it can be set directly for a given axes as an alternative to going through the rc mechanism? Right now it can be set via a function, but must be set before Axes creation; this doesn't make sense to me. It would make more sense as an Axes property that could be set at any time, and would apply to subsequent calls to plot.
My sense is that as a matter of design strategy, whenever possible, one should be able to use the API, via properties, methods, or functions, to locally set any options for which rcParams gives the global default values.