MATLAB Answers


plot and linewidth

Asked by John
on 22 Sep 2011
Latest activity Edited by Hari Desanur on 15 Nov 2016


I want to do:


but the linewidth propery ends up applying to both lines. Do I have to use two plot functions with a hold on command to have line1 a different width than line2? Thanks.


Try writing like this plot(x1,y1,'Linewidth',6,x2,y2,'Linewidth',8)

it works thnx

Log in to comment.

3 Answers

Answer by Fangjun Jiang on 22 Sep 2011
 Accepted Answer

Probably no direct solution as you wanted. You could do:



Thank you that worked great.

Just FYI, there is an "official" syntax for setting a property to different values on different objects. However, it's really ugly, and doesn't work everywhere. For example, I don't think that the plot function accepts this form.

It looks like this:

h = plot(x1,y1,x2,y2);

The property name and property value need to each be a cell array, and the shape of the value cell array has to match the shape of the handle cell array.

That said, you're really better off with 2 calls to set in this case.

Log in to comment.

Answer by Wayne King
on 22 Sep 2011

Hi: You can use handles.

    h = plot(x1,y1,x2,y2);


Log in to comment.

Answer by Hari Desanur on 15 Nov 2016
Edited by Hari Desanur on 15 Nov 2016

The line width for a particular line can be set using line object handles. For example -

   l = plot(x1,y1,x2,y2);
   l(1).LineWidth = 3; % set line width of 3 for the first line (x1,y1)
   l(2).LineWidth = 6;


Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today