我有一个 2D numpy 数组,我想以 3D 形式绘制它。我听说过 mplot3d 但我无法正常工作
这是我想做的一个例子。我有一个尺寸为 (256,1024) 的数组。它应该绘制一个 3D 图表,其中 x 轴从 0 到 256,y 轴从 0 到 1024,图表的 z 轴显示每个条目处数组的值。
我该怎么办?
听起来你正在尝试创建一个surface http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html#surface-plots情节(或者你可以画一个线框 http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html#wireframe-plots情节或填充等值线图 http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html#filled-contour-plots.
根据问题中的信息,您可以尝试以下操作:
import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Set up grid and test data
nx, ny = 256, 1024
x = range(nx)
y = range(ny)
data = numpy.random.random((nx, ny))
hf = plt.figure()
ha = hf.add_subplot(111, projection='3d')
X, Y = numpy.meshgrid(x, y) # `plot_surface` expects `x` and `y` data to be 2D
ha.plot_surface(X, Y, data)
plt.show()
显然你需要选择比使用更明智的数据numpy.random
以获得合理的表面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)