MATLAB: Change plot color long/shortnames to new default colors.

colordefaultsplot

Suppose I want to make a plot where a later series has the same color as an earlier series, which is plotted in one of the default colors.
Intuitively, one would do something like this:
n = 10;
a = rand(n,1);
b = rand(n,1);
w = 1e-1;
p = 1:n;
plot(p,a,p,b,p,a+w,'b',p,b+w,'r','LineWidth',3);
However, the 'b'lue and 'r'ed in the second two plots aren't the default blue and red. (I believe that they are the old defaults?). My question is: Can I set the long/shortnames (e.g. 'b', 'r') so that they are the new default colors?
Perhaps I should add that I know that I can achieve the same effect by providing the RGB triple for the default color needed. For forgetful people like me, though, that adds maybe two more steps each time I want to do this.

Best Answer

Hi,
It is not possible to change the RGB values set for the long/shortnames. But as a workaround you can try saving the RGB values of the new default colors, and use these variables to specify the color.
the following command can be used to get the RGB value of the default colors
color=get(gca,'ColorOrder')
This will return a 7x3 matrix with the RGB value of the seven new default colors.
then use the values in each row to specify color to your graph.
x=rand(1,10);
y=rand91,10);
plot(x,y,'Color',color(1,:))