使用matplotlib我在使用表面绘图功能时遇到问题。 我目前有3列数据(X,Y,Z),X和Y列保存我的电势坐标的x,y数据(位置),相应的Z坐标具有电势深度。
当我使用ax.scatter(X,Y,Z)绘制此数据时,我得到了预期的行为。
但是使用meshgrid命令和ax.plot_surface(X,Y,Z),我得到的图看起来完全不同
我用来绘制第二组数据的代码如下
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as np
X=[]
Y=[]
V=[]
#I read in data here (omitted some unrelated code) where x coords
# and corresponding y coord have the same position in array
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X, Y = np.meshgrid(X, Y)
# Plot the surface.
ax.plot_surface(X, Y, V)
plt.show()