gpt4 book ai didi

python - 带有 2D 数组的 3D 图 python matplotlib

转载 作者:太空狗 更新时间:2023-10-30 01:08:20 24 4
gpt4 key购买 nike

我有 2 个一维数组,其值为 x 和 y,还有一个二维数组,每个点的值为 z,其中列对应于 x 值,行对应于 y 值。有什么办法可以用这些数据得到一个 plot_surface 吗?当我尝试这样做时,它没有返回任何情节。这是代码:(calculate_R是我为程序做的一个函数)

x=np.arange(0,10,1)
y=np.arange(0,1,0.2)
lx= len(x)
ly=len(y)

z=np.zeros((lx,ly))

for i in range(lx):
for j in range(ly):
z[i,j]=calculate_R(y[j],x[i])

fig = plt.figure()
ax = Axes3D(fig)
x, y = np.meshgrid(x, y)
ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap='hot')

最佳答案

您忘记调用 plt.show()显示您的情节。

请注意,您可以利用 numpy 向量化来加速 z 的计算:

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

x = np.arange(0,10,1)
y = np.arange(0,1,0.2)

xs, ys = np.meshgrid(x, y)
# z = calculate_R(xs, ys)
zs = xs**2 + ys**2

fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(xs, ys, zs, rstride=1, cstride=1, cmap='hot')
plt.show()

在这里,我使用了一个简单的函数,因为您没有提供完整的示例。

关于python - 带有 2D 数组的 3D 图 python matplotlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22936030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com