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