我有一个数据文件,其中包含2,000,000个数据点(x,y,z),我正在尝试将信息的表面贴图写入纸张。它最终给我的图表看起来可能有10个数据点,而不是我需要的全部潜在能量表面。我需要做些什么来获得更好的图表。
这是我的代码:
with open("surfaceinfo.dat", "rb") as f:
CN_data = pickle.load(f)
CC_data = pickle.load(f)
energy = pickle.load(f)
plotx,ploty, = np.meshgrid(np.linspace(np.min(CN_data),np.max(CN_data),10),
np.linspace(np.min(CC_data),np.max(CC_data),10))
plotz = interp.griddata((CN_data,CC_data),energy(plotx,ploty),method='linear')
plotz = np.nan_to_num(plotz)
fig = plt.figure()
ax = fig.gca(projection='3d')
colormap = plt.cm.bwr
surf = ax.plot_surface(plotx,ploty,plotz,cmap=colormap,linewidth=0,antialiased=False)
fig.colorbar(surf)
plt.savefig('mapping40,000')
plt.show()
答案 0 :(得分:0)
linspace函数的第三个参数是你想要的点数。在你的代码中,这个值是10.所以你的表面将有10x10点。更改该参数以设置曲面上的点数。