HELP DIFFERENT LINESTYLE ON THE SAME CURVE

2 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 2-D and 3-D Plots 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!