我一直试图用数组作为输入来绘制3D图像。 为了测试我做了一点np.array
ar = np.array([[1,2,3],[4,5,6],[7,8,9]])
我的想法是将x位置用作x值,将y位置用作y值,将每个位置的值用作z值。
fig = plt.figure(figsize=(12,10))
ax = fig.add_subplot(111, projection='3d')
plt.title("Titel")
X = range(len(a))
Y = range(len(a))
Z = a
ax.plot_surface(X,Y,Z, cmap=plt.cm.Reds, cstride=1, rstride=1)
我的问题是我得到了一个情节,但情节并不像我想要的那样......
我想要一个正常的"表面情节,像这样:
在Docs中解释了如何使用函数作为输入来制作3D绘图,但我没有找到如何使用数组进行良好描述。
对于大图片,我不知道如何让它们变小:/
答案 0 :(得分:0)
在此问题中找到解决方案:Plotting a 2D Array with Matplotlib
不知道为什么我之前没有看到它。
添加
x = range(len(a))
y = range(len(a))
X,Y = np.meshgrid(x,y)
Z = a
给出了这个情节:
我不知道究竟做了什么" meshgrid" ...会更多地搜索它。