Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib三维曲面打印-平滑_Python_Matplotlib - Fatal编程技术网

Python matplotlib三维曲面打印-平滑

Python matplotlib三维曲面打印-平滑,python,matplotlib,Python,Matplotlib,我有我的数据,我想创建一个平滑的绘图,但是在运行代码之后,结果太粗糙了。有没有办法使情节平顺 我的代码: fig = plt.figure(figsize = (10,10)) ax = Axes3D(fig) # ax.view_init(azim=120, elev=30) X = visualdf.lat Y = visualdf.lan Z = visualdf.students xi = np.linspace(X.min(),X.max(),(len(Z)/3)) yi = np

我有我的数据,我想创建一个平滑的绘图,但是在运行代码之后,结果太粗糙了。有没有办法使情节平顺

我的代码:

fig = plt.figure(figsize = (10,10))
ax = Axes3D(fig)
# ax.view_init(azim=120, elev=30)

X = visualdf.lat
Y = visualdf.lan 
Z = visualdf.students
xi = np.linspace(X.min(),X.max(),(len(Z)/3))
yi = np.linspace(Y.min(),Y.max(),(len(Z)/3))
zi = griddata((X, Y), Z, (xi[None,:], yi[:,None]), method='nearest')

xig, yig = np.meshgrid(xi, yi)

ls = LightSource(270,45)
rgb = ls.shade(zi, cmap=cm.gist_earth , vert_exag=0.1, blend_mode='soft')
surf = ax.plot_surface(xig, yig, zi, rstride=1, cstride=1, antialiased=True, shade=False, facecolors=rgb, linewidth=0)
fig.colorbar(surf, shrink=0.5, aspect=5)

ax.set_title('Lat, Lan & No of Students')
ax.set_xlabel('Latitude')
ax.set_ylabel('Longitude')
ax.set_zlabel('No of Students')
ax.set_zlim3d(0,3000)
三维绘图:

所需的3D绘图,如下所示: 摘自—

您可以对数据进行重新采样(有效地获取移动空间或最近邻平均值),但这将创建人工平滑-一些信息将丢失。那可以接受吗?或者你需要完美地保存数据吗?理想地保存数据如果你正在平滑绘图,你希望如何保存数据?“平滑”意味着当您试图找到一个(过于简单的)函数来拟合复杂数据时,会丢失数据的分辨率