Python: matplotlib 'numpy.ndarray' objet n'a pas d'attribut "has_data'
Je voulais obtenir un graphique 3D avec le module matplotlib. Ci-dessous est une partie de mon code source.
(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)
La x
, y
, et z
:
array([56, 56, 56, ..., 62, 62, 62])
array([37, 37, 37, ..., 42, 42, 42])
array([734, 734, 734, ..., 709, 709, 709])
Cependant, j'ai eu l'erreur ci-dessous:
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'
OriginalL'auteur Eaton Chow | 2015-04-20
Vous devez vous connecter pour publier un commentaire.
Il devrait être
La
Axes3D.plot_trisurf
ligne est l'appel de l'onu-tenu de la méthode de classeplot_trisurf
de laAxes3D
classe. Il attend une instance deAxes3D
pour être le premier argument (qui est normalement pris en charge lorsque la méthode est liée à une instance).J'ai eu le même problème parce que les docs pour Axes3D ne pas donner des exemples.
OriginalL'auteur tacaswell