How could I get a smooth curve by "plot" function?

60 views (last 30 days)
Jianwei Guo
Jianwei Guo on 27 Apr 2012
Commented: Berks on 25 Dec 2014
I find that when I draw a line using plot function, the line is not smooth enough and have jagged edge. I have tried enlarging the data density of points, and still nothing has been improved. So, what should I do to get a smooth curve? Is this just a preference setting problem? Any suggestion will be helpful, and thank you very much.

Answers (3)

Jan on 28 Apr 2012
To insert a picture in a paper I'd suggest the Painters renderer and an export to EPS. While the preview picture e.g. in the screen view of Word looks rough, the lines are smooth when printed to paper or to a PDF.
The suggested export_fig does exactly this also, but with a lot of extra features.
The OpenGL renderer can export pixel images only, while Painters exports vector graphics also.
  1 Comment
xueqi on 29 Aug 2013
This is really really help. Save the day!!

Sign in to comment.

Walter Roberson
Walter Roberson on 27 Apr 2012
There is no preference setting: the smoothness of the curve depends upon the resolution of the data and upon the amount of zooming that one has done.
That said, you may wish to experiment with the three different renderers, and in particular with
set(gcf, 'renderer', 'opengl')
Walter Roberson
Walter Roberson on 28 Apr 2012
Also, possibly the FEX contribution "plt" would be useful to you.

Sign in to comment.

Richard on 27 Apr 2012
you could use the smoothLine function from the file exchange:
Berks on 25 Dec 2014
There is nothing non-scientific about using SmoothLine. It only changes the interpolation between consecutive points from linear to non-linear - it is an interpolation either way. If you don't want to guess values between points, don't draw a line.

Sign in to comment.


Find more on Visual Exploration 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!

Translated by