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 个评论

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

请先登录,再进行评论。

 采纳的回答

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 个评论

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
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')

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by