三角曲面图matplotlib

三角曲面图matplotlib,matplotlib,Matplotlib,我试图以三角形数据的形式绘制这些数据,但我得到了以下错误: from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.gca(projection='3d') # Make data. X = np.arange(-5, 5, 0.25) Y = np.arange(-5, 5, 0.25) X, Y = np.

我试图以三角形数据的形式绘制这些数据,但我得到了以下错误:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np


fig = plt.figure()
ax = fig.gca(projection='3d')

# Make data.
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

ax.plot_trisurf(X, Y, Z, cmap='viridis', edgecolor='none')

plt.show()

有人能帮我吗?

在三角形曲面图中,X,Y,Z必须是一维数组,而不是线框和曲面图中的二维数组。
不要使用np.meshgrid()。

如果要在规则的矩形网格上绘制数据,请使用
plot\u surface
。是的,谢谢。但现在,我正在寻找在三角形网格中绘制它,为什么?网格已经是规则的。使用plot_曲面,我得到以下图形:。但我希望它看起来像这样:这个例子使用随机数。在您的情况下,它将是
X=np.rand.rand(1000)*10-5;Y=np.随机兰特(1000)*10-5;Z=np.sin(np.sqrt(X**2+Y**2))
ValueError: x and y must be equal-length 1-D arrays