# ParametricPlot shows wrong plots for big parameters [duplicate]

I am using ParametricPlot to plot some orbits I'm working on. So, suppose I want to plot a circular orbit. Everything works perfect and this is what I get:

Now, if I plot a longer circular orbit, i.e. an orbit that runs for a longer time, this is what I get:

However, the radial coordinate is constant, as I can see from the plot of the radius:

So it seems that ParametricPlot messes up the plot in the long run. It took me some time to realize this, since I'm working with more complicate orbits than these circular ones.

So is there any way I can plot the actual orbits and not these weirds things I get when the parameter is very big?

## marked as duplicate by m_goldberg, corey979, José Antonio Díaz Navas, Coolwater, Michael E2 plotting StackExchange.ready(function() { if (StackExchange.options.isMobile) return; $('.dupe-hammer-message-hover:not(.hover-bound)').each(function() { var$hover = $(this).addClass('hover-bound'),$msg = $hover.siblings('.dupe-hammer-message');$hover.hover( function() { $hover.showInfoMessage('', { messageElement:$msg.clone().show(), transient: false, position: { my: 'bottom left', at: 'top center', offsetTop: -7 }, dismissable: false, relativeToBody: true }); }, function() { StackExchange.helpers.removeMessages(); } ); }); }); Feb 27 '18 at 17:30

• You might get better help if you include your code. – Chris K Feb 27 '18 at 4:07
• Increase PlotPoints. You need to have several points per revolution. – Michael E2 Feb 27 '18 at 4:11
• That happens even if you plot {Cos[t],Sin[t]} for very large t. – Thiago Feb 27 '18 at 4:11

An alternative to increasing PlotPoints or MaxRecursion is to use points instead of lines:

ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}] /. Line->Point


To make the points smaller you could use:

ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}] /. Line[x_] -> {AbsolutePointSize[1], Point[x]}


• Thank you! How do I adjust the thickness of the points? – Thiago Feb 27 '18 at 16:08
• Or you can convert back to a line using FindCurvePath: ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}] /. Line[pts_] :> Line[pts[[FindCurvePath[pts][[1]]]]] – Bob Hanlon Feb 27 '18 at 17:08

As suggested by Michael E2, use the option PlotPoints EDIT and/or as suggested byAkku14 use the option MaxRecursion

EDIT

Manipulate[
ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 5000}, PlotPoints -> pp,
MaxRecursion -> mr], {{pp, Automatic, "PlotPoints"},
Prepend[Range[100, 900, 200], Automatic],
ControlType -> SetterBar}, {{mr, Automatic, "MaxRecursion"},
Prepend[Range[2, 14, 2], Automatic], ControlType -> SetterBar}]


• You get the same good result without changing PlotPoints, but with MaxRecursion -> 10 – Akku14 Feb 27 '18 at 7:52
• @Akku14 - Thanks. Edited to include use of MaxRecursion – Bob Hanlon Feb 27 '18 at 15:48