HELP DIFFERENT LINESTYLE ON THE SAME CURVE

9 views (last 30 days)
Hi everyone, I am a new entry in the group. I have a problem with a matlab plot.
I have two vectors x and y, and plot (x, y), at this point I get a curve. I would like this curve to be dashed for values of x <50 and continuous for values x> 50. how can I do?
Thank you very much for helping
  3 Comments
Matt J
Matt J on 23 Apr 2019
Edited: Matt J on 23 Apr 2019
When I plot this data, however, I see something weird-looking that does not look like a function. Perhaps it is not the correct data? Or maybe x and y are interchanged?
roberta perna
roberta perna on 23 Apr 2019
Edited: roberta perna on 23 Apr 2019
the plot is correct. I would like that x> 50 or 60 ( continuous) and x< 50 or 60 (dashed)

Sign in to comment.

Accepted Answer

Matt J
Matt J on 23 Apr 2019
Edited: Matt J on 23 Apr 2019
Just split x,y into two subsets and plot each subset as a separate line:
idx=x<50;
x1=x(idx); y1=y(idx);
x2=x(~idx); y2=y(~idx);
H=plot(x1,y1,'--',x2,y2,'-');
  16 Comments
roberta perna
roberta perna on 23 Apr 2019
Edited: roberta perna on 23 Apr 2019
this second graph has the same y as the first one. at this point I would like continuous line in the second plot for 0.6471<y<0.797 ( extremes of the continuous line found in the first plot)
Matt J
Matt J on 23 Apr 2019
I'm not sure I understand, but you can trace a line over any subset of the data using the same kind of technique,
subset=(y<0.797)&(y>0.6471);
line(x(subset), y(subset),'LineStyle','-','LineWidth',3,'Color','red')

Sign in to comment.

More Answers (0)

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!