2016-06-12 1 views
1

Je ne sais pas exactement comment corriger l'erreur d'attribut suivant:matplotlib: AttributeError: objet « AxesSubplot » n'a pas d'attribut « add_axes »

AttributeError: 'AxesSubplot' object has no attribute 'add_axes' 

Le problème incriminé semble être lié à la façon dont je l'ai mis en place mon intrigue:

gridspec_layout = gridspec.GridSpec(3,3) 
pyplot_2 = fig.add_subplot(gridspec_layout[2]) 

ax = WCSAxes(fig, [0.1, 0.1, 0.8, 0.8], wcs=wcs) 
pyplot_2.add_axes(ax) 

Est-ce que quelqu'un sait comment résoudre ce problème? Merci beaucoup.

Répondre

0

Il n'y a pas beaucoup de détails à faire dans votre question, mais je parie que je devine. L'erreur est assez explicite. Vous ne pouvez pas add_axes à pyplot_2 car pyplot_2 est un objet matplotlib.axes.AxesSubplot et ils n'ont pas une méthode add_axes définie.

Seuls les objets matplotlib.figure.Figure ont la méthode add_axes définie sur eux.

D'après ce que je suis arrivé à une courte navigation à travers les WCSAxes documentation officielle leur approche recommandée serait:

wcs = astropy.wcs.WCS(....) 
fig = matplotlib.pyplot.figure() 
pyplot_2 = fig.add_subplot(gridspec_layout[2], projection=wcs)