How to set LineStyle for matrix plotting?

I have a matrix that I would like to plot, but I would like each column to be plotted using a different LineStyle. To do so I set the Axes LineStyleOrder property to the desired value, then I set the NextPlot property to 'replacechildren', but for some reason all columns get the same (the first value in LineStyleOrder) LineStyle. I works well with ColorOrder, but not with LineStyles.
Anyone knows why, or how I should solve my problem?
Thanks in advance!

 Réponse acceptée

Michael Haderlein
Michael Haderlein le 5 Mai 2015
Modifié(e) : Michael Haderlein le 5 Mai 2015
It's not very intuitive, but that's the point (from here):
Axes increments the line style only after using all of the colors in the ColorOrder property .
Plus, you need to set hold all:
set(axes,'LineStyleOrder',{'-','--',':','-.'}') %create axes with respective LineStyleOrder
hold all %Prevent clearing LineStyleOrder
plot(1:3,bsxfun(@plus,rand(3,15),0:14)) %use it
(similar information is given in the help of the axes properties, here)

3 commentaires

So there's basically no way to use a custom set of ColorSet and StyleOrder at the same time? I mean:
set( hAx , 'ColorOrder' , [ 0 0 1 ; 0 1 0 ; 1 0 0 ] );
set( hAx , 'LineStyleOrder' , { '-' , ':' , '-.' } );
So that the first column of the data will be blue AND a solid line, the second green AND dotted...
Michael Haderlein
Michael Haderlein le 5 Mai 2015
Modifié(e) : Michael Haderlein le 5 Mai 2015
I don't see a possibility to do it this way. I have once made a function which will set the line styles to all children of given axes (useful for b/w printings). But to do it in advance? I wouldn't know how right now.
András
András le 5 Mai 2015
Thanks.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by