Different line types for multiple curves

Hi MATLAB Community,
How would I change the line type for my plot, so I have a '-r' and '--r' as well as '-b' and '--b'?
figure;
p = plot(x, y);
set(p, {'color'}, {'r'; 'r'; 'b'; 'b'});

 Risposta accettata

Maybe you'll have to accept looping a little:
lstl = {'-','--'};
for i1 = 1:4,
set(p(i1),'linestyle',lstl{rem(i1,2)+1})
end
HTH

Più risposte (1)

VBBV
VBBV il 9 Apr 2021
Modificato: VBBV il 9 Apr 2021
%f true
figure;
p = plot(x, y);
set(p, {'LineStyle'},{'-';'--';'-';'--'},{'color'}, {'r'; 'r'; 'b'; 'b'});

1 Commento

Neat, but:
Mathworks, this is ugly!
When I tried this:
set(p, 'LineStyle',{'-';'--';'-';'--'},{'color'}, {'r'; 'r'; 'b'; 'b'});
I got and angry error-message:
Error using matlab.graphics.chart.primitive.Line/set
Error setting property 'LineStyle' of class 'Line':
Invalid enum value. Use one of these values: '-' | '--' | ':' | '-.' | 'none'.
...but when wrapping the property in a cell-array everything works fine. That is ugly.

Accedi per commentare.

Categorie

Scopri di più su Graphics Performance in Centro assistenza e File Exchange

Prodotti

Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by