fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
ax.plot_surface(*(v.reshape(nrows, ncols) for v in (x, y, z)))
plt.xlabel('x') ; plt.ylabel('y')
plt.show()
或者,如果你想要更高级的东西
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'),
layout='constrained')
surf = ax.plot_surface(*(v.reshape(nrows, ncols) for v in(x, y, z)),
cmap='Blues_r', ec='gray', lw=0.2)
plt.xlabel('x') ; plt.ylabel('y')
plt.colorbar(surf)
plt.show()
我的代码的前奏,如果你想检查我的结果,是
import numpy as np
import matplotlib.pyplot as plt
nrows, ncols = 63, 126
x = np.linspace(0, 12.5, ncols)
y = np.linspace(-6.2, 6.2, nrows)
X, Y = np.meshgrid(x, y)
x, y = (V.flatten() for V in (X, Y))
z = np.sin(x)-np.cos(y)
fig, ax = ...
...
1条答案
按热度按时间v2g6jxz61#
让我们说,有你的情节,你使用这个代码
假设你知道
nrows
,ncols
,你的基本网格的行数(y)和列(x)。如果这些假设是正确的,那么你就可以用这段代码绘制一个连接这些点的曲面
或者,如果你想要更高级的东西
我的代码的前奏,如果你想检查我的结果,是