Increasing number of points in a plot without ruining the shape
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Abhiraj Gupta
el 20 de Ag. de 2019
Respondida: darova
el 20 de Ag. de 2019
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 comentarios
Respuesta aceptada
darova
el 20 de Ag. de 2019
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 comentarios
Más respuestas (1)
Stephen23
el 20 de Ag. de 2019
Editada: Stephen23
el 20 de Ag. de 2019
Try using method spline or pchip and see if they do what you want:
interp1(...,'pchip')
1 comentario
Stephen23
el 20 de Ag. de 2019
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.
Ver también
Categorías
Más información sobre Graphics Performance en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!