Python:matplotlib 'numpy.ndarray' 对象没有属性 'has_data'

标签 python numpy matplotlib data-visualization

我想用 matplotlib 模块获得 3D 图。下面是我的一些源代码。

(LTV,DTI,FICO) = readData('Acquisition_2007Q1.txt')
x = np.array(LTV)
y = np.array(DTI)
z = np.array(FICO)

fig = plt.figure()
ax = fig.gca(projection='3d')
Axes3D.plot_trisurf(x, y, z, cmap = cm.jet)

xyz 如下:

array([56, 56, 56, ..., 62, 62, 62])
array([37, 37, 37, ..., 42, 42, 42])
array([734, 734, 734, ..., 709, 709, 709])

但是,我得到以下错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-22-5c9578cf3311> in <module>()
      1 fig = plt.figure()
      2 ax = fig.gca(projection='3d')
----> 3 Axes3D.plot_trisurf(x, y, z, cmap = cm.jet)

/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/mpl_toolkits/mplot3d/axes3d.py in plot_trisurf(self, *args, **kwargs)
   1828         """
   1829 
-> 1830         had_data = self.has_data()
   1831 
   1832         # TODO: Support custom face colours

AttributeError: 'numpy.ndarray' object has no attribute 'has_data'

最佳答案

应该是

(LTV,DTI,FICO) = readData('Acquisition_2007Q1.txt')
x = np.array(LTV)
y = np.array(DTI)
z = np.array(FICO)

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_trisurf(x, y, z, cmap = cm.jet)

Axes3D.plot_trisurf 行正在调用 Axes3D 类的未绑定(bind)类方法 plot_trisurf。它期望 Axes3D 的实例作为第一个参数(通常在方法绑定(bind)到实例时会处理)。

关于Python:matplotlib 'numpy.ndarray' 对象没有属性 'has_data',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29737584/

相关文章:

python - 如何循环遍历整个 JSON 文件并将数据提取到变量中

python - Pandas 累积/元素方式

python - 如何使用 seaborn 的 lmplot 显示色调的颜色而不是精确值?

python - 当 matplotlib 图中的值为 "wrap"时防止绘图连接

python - 是否有使用 Matplotlib 创建 hexbin 热图的教程?

python - 如何在 x 轴上绘制带有字符串变量的 seaborn 线图

javascript - 如何将base64写入模型的FileField?

python - 如何将 .parquet 文件从本地计算机上传到 Azure Storage Data Lake Gen2?

python-2.7 - 如何在循环中使用Python矩阵的维数

python - numpy.polyfit 的额外结果是什么意思?