Azzera filtri
Azzera filtri

Different line types for multiple curves

5 visualizzazioni (ultimi 30 giorni)
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

Bjorn Gustavsson
Bjorn Gustavsson il 9 Apr 2021
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
Bjorn Gustavsson
Bjorn Gustavsson il 9 Apr 2021
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 Specifying Target for Graphics Output in Help Center 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