Increasing number of points in a plot without ruining the shape
61 次查看(过去 30 天)
显示 更早的评论
How can I make this plot look like
this plot but instead of reducing points I want to increase data points in red plot to 20. Using linspace or interp1 is giving me a straight line. I want to conserve the shape of the plot and increase the number of points in the plot.
0 个评论
采纳的回答
darova
2019-8-20
Is it correct? (Not tested)
x1red = linspace(xred(1),xblue(end),20); % more points for red curve
% scaling red curve (make it as long as blue one)
Lred = xred(end) - xred(1);
Lblue= xblue(end) = xblue(1);
xred_scaled = xred(1) + (xred-xred(1))*Lblue/Lred;
y1red = interp1(x_red_scaled,yred,x1red);
plot(xblue,yblue,'b')
hold on
plot(x1red,y1red,'r')
hold off
0 个评论
更多回答(1 个)
Stephen23
2019-8-20
编辑:Stephen23
2019-8-20
Try using method spline or pchip and see if they do what you want:
interp1(...,'pchip')
1 个评论
Stephen23
2019-8-20
Writing "it's not working" tells us nothing. If you want further help then please:
- tell us if you are extrapolating the data.
- show the exact code that you are using.
- upload sample data in a .mat file.
- show or explain how the expected output is different to what you get.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!