I wi sh Я мог бы дать более интересный ответ, но, вероятно, просто в ваших данных есть шум, который отражается на графике вашей поверхности.
Я воссоздает некоторые аналогичные синусоидальные данные с вашими, добавил маленькая, но не слишком большая ошибка, и результат такой же неустойчивый.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def my_func(x, y):
return np.sin(x**2 + y**2)
x = np.linspace(0, 3, 61)
y = np.linspace(0, 3, 61)
X,Y = np.meshgrid(x, y)
# add some error to our function: for f(x,y) in the range of [-1,1]
# the noise has a standard deviation of 1/25 = 0.04
# which is close to the spacing in the mesh grid so it's noticeable
Z = my_func(X, Y) + np.random.standard_normal((len(x), len(y)))/25
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X,Y,Z)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Approximation')
plt.show()