在附图中,您可以看到两个相同数据的图。左边的一个用plot_wireframe()
绘制,右边的plot_surface()
像这样:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(xm, ym, Values)
fig2 = plt.figure()
ax2 = fig2.add_subplot(111, projection='3d')
ax2.plot_wireframe(xm, ym, Values)
plt.show()
这是为什么? plot_wireframe
是正确的。例如,为什么表面图中没有显示左上角的峰值?感谢
这里是数据矩阵的另一个例子:
答案 0 :(得分:0)
鉴于评论中的讨论,我认为正在发生的事情是你有一个看起来应该是正常的线框,但是表面图是3D轴对象中的2D投影。我注意到您错过了显示在the matplotlib surface example中的一行:X, Y = np.meshgrid(X, Y)
。假设我在正确的轨道上,你需要在axes.plot_surface()
电话之前插入一个类似的声明。