HELP DIFFERENT LINESTYLE ON THE SAME CURVE

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
I have attached roberta's data here.
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?
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

For example, with
x=1:100; y=log(x);
idx=x<50;
x1=x(idx); y1=y(idx);
x2=x(~idx); y2=y(~idx);
H=plot(x1,y1,'--',x2,y2,'-');
sorry I still have problems. I tried but it doesn't work. below I have attached the photos and the code ..
Attach your x,y data in a .mat file.
Please attach your x,y data in a .mat file. The rest of your code is unnecessary.
Please attach your x,y data (and nothing else) in a .mat file. The rest of your code is unnecessary. Even if it were necessary, we couldn't run your code, because we lack all the inputs
Undefined function or variable 'DATA_2pi_CO_TW'.
date and date are files created by fortran that I have in my pc. should I upload them? the problem is at the end of the code.
The photos do not seem to have been attached ?
No, please just attach a .mat file with the x,y you are trying to plot.
load myFile
plot(x,y,'--x')
peak=(x>50)&(y>0.5);
line(x(peak), y(peak),'LineStyle','-','LineWidth',3,'Color','red')
ylim([0,2]);
plot.png
thank you very much
You are welcome, but please Accept-click the answer if it resolves your question.
Is it possible to impose only the limit on x?
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)
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

Asked:

on 23 Apr 2019

Commented:

on 23 Apr 2019

Community Treasure Hunt

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

Start Hunting!