How to plot a smooth curve with only a few points?
149 views (last 30 days)
Show older comments
Herline van der Spuy
on 13 Sep 2021
Commented: Herline van der Spuy
on 14 Sep 2021
Hi,
I have 6 data points, it's very little, but it's all I have. How do I get a smooth plot from that? Like Excel has the option, by I want to use matlab.
time = PENO(:,1);
s24 = PENO(:,2);
sx24 = smooth(s24)
plot(time,sx24,'-o','Color',blue,'LineWidth',1.5,'MarkerSize',5,'MarkerFaceColor',blue);
This is what I get: The blue line is the original plot, without the smooth. And then I tried to smooth, which is the black line.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/736989/image.png)
0 Comments
Accepted Answer
Jan
on 13 Sep 2021
Either decide for a linear interpolation:
x = 1:6;
y = rand(1, 6);
plot(x, y, 'ko');
hold on
xx = linspace(1, 6, 100);
yy1 = interp1(x, y, xx, 'cubic');
plot(xx, yy1, 'r-');
yy2 = interp1(x, y, xx, 'spline');
plot(xx, yy2, 'b-');
yy3 = interp1(x, y, xx, 'makima');
plot(xx, yy3, 'c-');
Or if you know the function of your data, fit a model to the measured values.
More Answers (0)
See Also
Categories
Find more on Smoothing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!