如何使用matplotlib将数组正确绘制为曲面?

时间:2014-03-13 08:53:47

标签: python arrays matplotlib plot

我一直试图用数组作为输入来绘制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)

我的问题是我得到了一个情节,但情节并不像我想要的那样...... Plot

我想要一个正常的"表面情节,像这样: normal plot

在Docs中解释了如何使用函数作为输入来制作3D绘图,但我没有找到如何使用数组进行良好描述。

对于大图片,我不知道如何让它们变小:/

1 个答案:

答案 0 :(得分:0)

在此问题中找到解决方案:Plotting a 2D Array with Matplotlib

不知道为什么我之前没有看到它。

添加

x = range(len(a))
y = range(len(a))
X,Y = np.meshgrid(x,y)
Z = a

给出了这个情节: plot

我不知道究竟做了什么" meshgrid" ...会更多地搜索它。