This is how I was able to change the order of the legend on a figure with multiple subplots of area plots:
I want the order of the legend to follow the order of the colors in the area plot
If I type the following into the command window: a.Children... it returns:
So a.Children(1) is my legend!
lbl = a.Children(1).String;
numlbl = length(lbl);
order = sort(1:1:numlbl,'descend');
newlbl = lbl(order);
hope this helps!