This question leads on from the recent question What are the standard colors for plots in Mathematica?
There it was determined that the default color palette used by Plot is equivalent to ColorData[1] (see the note at the end). This can be changed through the use of the option PlotStyle.
My question is how can we make, e.g., the default color palette be ColorData[3] and have this default survive manual changes to other aspects of the plot styling?
So, for example, let's make a list of monomials and some dashing settings
fns = Table[x^n, {n, 0, 5}];
dash = Table[AbsoluteDashing[i], {i, 1, 6}];
Note that the default plot colors survive other choices to styling:
GraphicsRow[{Plot[fns, {x, -1, 1}], Plot[fns, {x, -1, 1}, PlotStyle -> dash]}]

The colors in the plot may be changed by locally setting PlotStyle, such as
Plot[fns, {x, -1, 1}, PlotStyle -> ColorData[3, "ColorList"]]
or by setting the default options. Let's do that and run the GraphicsRow command again:
SetOptions[Plot, PlotStyle -> ColorData[3, "ColorList"]];
GraphicsRow[{Plot[fns, {x, -1, 1}], Plot[fns, {x, -1, 1}, PlotStyle -> dash]}]

Note that the new colors in the default plot style is overwritten by the use of PlotStyle -> dash. This can be manually fixed, in this case, with Transpose[{dash, ColorData[3, "ColorList"][[1 ;; 6]]}], but you don't want to do that every time.
Changing the default PlotStyle will always have this problem.
You'd expect there to be a default ColorData or color scheme setting somewhere,
but I have been unable to find it.
Note that running the hack
Unprotect[ColorData];
ColorData[1] := ColorData[3]
ColorData[1, a__] := ColorData[3, a]
Protect[ColorData];
does not fix the default plot colors.
Which probably means that the default internals of Plot does not make an explicit call to ColorData...
It's also interesting to note that when running a Trace[Plot[...],TraceInternal -> True] the colors seem to appear out of nowhere! I looked at such a trace in trying to answer this recent SO question related to how Mathematica determines the number of lines and thus colors it needs in a plot.







"MessagesHead"thing -- that looks pretty obscure. I was really hoping that you'd found some way to useSystem`Private`$PlotStyleFunction, but never mind. I have two small problems with the code. (1) As you pointed out in @belisarius' answer, changing the colors of the Plot does not effect the colours of the filling. It would be possible to hack this withFillingStyle- but not really necessary. – Simon Apr 14 '11 at 12:02Rulea bit perverse. It also leads to the problem that @Sasha pointed out, sinceRuleis too deep for a pattern match to his example. This can be fixed by making a loop that produces a normalDownValuefor eachhinpp. This can also be designed to fix the problem that Sasha pointed out. Fix this issue and you get the bounty - since it is probably the best "simple" solution that is possible. – Simon Apr 14 '11 at 12:05"MessagesHead", while you had me digging around in the bowels of Plot I found something useful. I don't know what I was looking at when I commented on belisarius' answer, as Janus' method doesn't handleFillingStyleeither from what I can tell. I don't know why I thought it did. If you would like that to change as well I'd be happy to try. – Mr.Wizard Apr 14 '11 at 12:10FillingStylething is minor. It probably would be the proper default behaviour for it to copy thePlotcolors, but if it was really important, then that would already be the default behaviour in Mathematica (iePlot[x^2, {x, 0, 1}, PlotStyle -> Red, Filling -> Axis]would have a red fill). -- So, just fix point (2) and the money is yours! – Simon Apr 14 '11 at 12:14Plotfunction(s) doesn't seem to work for me (the default behaviour is not modified). – Will Vousden Aug 15 '13 at 09:34