Создайте плавный график с немонотонно увеличивающимися данными (например, круг).

#python #matplotlib #scipy

Вопрос:

Я сделал сюжет, подобный приведенному ниже:

Результат

Я бы хотел сделать это более плавным, например, с помощью сплайна. Но он недоступен из-за ошибки.

Это мой код:

 new_x = np.linspace(x.min(), x.max(), 300) spl = make_interp_spline(x, y, k=3) new_y = spl(new_x)  

И в этом заключается ошибка:

 Traceback (most recent call last):  File ".../main.py", line 90, in lt;modulegt;  spl = make_interp_spline(x, y, k=3)  File ".../lib/python3.8/site-packages/scipy/interpolate/_bsplines.py", line 1065, in make_interp_spline  raise ValueError("Expect x to be a 1-D sorted array_like.") ValueError: Expect x to be a 1-D sorted array_like.  

Конечно, они являются 1-D массивом и результатом

 print(x.ndim) print(np.any(x[1:] lt;= x[:1]))  1 True  

Я знаю, что эта проблема возникла из-за немонотонно увеличивающихся данных. Итак, мой вопрос в том, как я могу нарисовать гладкий график с немонотонно увеличивающимися данными, такими как круг?