title: Fitting a closed curve to a set of points
body: <p>I have a set of points <code>pts</code> which form a loop and it looks like this:</p>
  
  <p><img src="https://i.stack.imgur.com/31KOr.png" alt="enter image description here"></p>
  
  <p>This is somewhat similar to <a href="https://stackoverflow.com/questions/31243002/higher-order-local-interpolation-of-implicit-curves-in-python">31243002</a>, but instead of putting points in between pairs of points, I would like to fit a smooth curve through the points (coordinates are given at the end of the question), so I tried something similar to <code>scipy</code> documentation on <a href="http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html" rel="noreferrer">Interpolation</a>:</p>
  
  <pre><code>values = pts
  tck = interpolate.splrep(values[:,0], values[:,1], s=1)
  xnew = np.arange(2,7,0.01)
  ynew = interpolate.splev(xnew, tck, der=0)
  </code></pre>
  
  <p>but I get this error:</p>
  
  <blockquote>
    <p>ValueError:     Error on input data</p>
  </blockquote>
  
  <p>Is there any way to find such a fit?</p>
  
  <p>Coordinates of the points:</p>
  
  <pre><code>pts = array([[ 6.55525 ,  3.05472 ],
     [ 6.17284 ,  2.802609],
     [ 5.53946 ,  2.649209],
     [ 4.93053 ,  2.444444],
     [ 4.32544 ,  2.318749],
     [ 3.90982 ,  2.2875  ],
     [ 3.51294 ,  2.221875],
     [ 3.09107 ,  2.29375 ],
     [ 2.64013 ,  2.4375  ],
     [ 2.275444,  2.653124],
     [ 2.137945,  3.26562 ],
     [ 2.15982 ,  3.84375 ],
     [ 2.20982 ,  4.31562 ],
     [ 2.334704,  4.87873 ],
     [ 2.314264,  5.5047  ],
     [ 2.311709,  5.9135  ],
     [ 2.29638 ,  6.42961 ],
     [ 2.619374,  6.75021 ],
     [ 3.32448 ,  6.66353 ],
     [ 3.31582 ,  5.68866 ],
     [ 3.35159 ,  5.17255 ],
     [ 3.48482 ,  4.73125 ],
     [ 3.70669 ,  4.51875 ],
     [ 4.23639 ,  4.58968 ],
     [ 4.39592 ,  4.94615 ],
     [ 4.33527 ,  5.33862 ],
     [ 3.95968 ,  5.61967 ],
     [ 3.56366 ,  5.73976 ],
     [ 3.78818 ,  6.55292 ],
     [ 4.27712 ,  6.8283  ],
     [ 4.89532 ,  6.78615 ],
     [ 5.35334 ,  6.72433 ],
     [ 5.71583 ,  6.54449 ],
     [ 6.13452 ,  6.46019 ],
     [ 6.54478 ,  6.26068 ],
     [ 6.7873  ,  5.74615 ],
     [ 6.64086 ,  5.25269 ],
     [ 6.45649 ,  4.86206 ],
     [ 6.41586 ,  4.46519 ],
     [ 5.44711 ,  4.26519 ],
     [ 5.04087 ,  4.10581 ],
     [ 4.70013 ,  3.67405 ],
     [ 4.83482 ,  3.4375  ],
     [ 5.34086 ,  3.43394 ],
     [ 5.76392 ,  3.55156 ],
     [ 6.37056 ,  3.8778  ],
     [ 6.53116 ,  3.47228 ]])
  </code></pre>