Different line types for multiple curves

5 visualizaciones (últimos 30 días)
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'});

Respuesta aceptada

Bjorn Gustavsson
Bjorn Gustavsson el 9 de Abr. de 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

Más respuestas (1)

VBBV
VBBV el 9 de Abr. de 2021
Editada: VBBV el 9 de Abr. de 2021
%f true
figure;
p = plot(x, y);
set(p, {'LineStyle'},{'-';'--';'-';'--'},{'color'}, {'r'; 'r'; 'b'; 'b'});
  1 comentario
Bjorn Gustavsson
Bjorn Gustavsson el 9 de Abr. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Specifying Target for Graphics Output en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by