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'});

 Akzeptierte Antwort

Bjorn Gustavsson
Bjorn Gustavsson am 9 Apr. 2021

0 Stimmen

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

Weitere Antworten (1)

VBBV
VBBV am 9 Apr. 2021
Bearbeitet: VBBV am 9 Apr. 2021

2 Stimmen

%f true
figure;
p = plot(x, y);
set(p, {'LineStyle'},{'-';'--';'-';'--'},{'color'}, {'r'; 'r'; 'b'; 'b'});

1 Kommentar

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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by