matplotlib / matplotlib/basemap

Function "addcyclic": IndexError

Ouverte
#575 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
817
Forks
395
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi, I am using "addcyclic" function and encounter the Index Error. Error details are:

> **IndexError** Traceback (most recent call last)
> ~\AppData\Local\Temp/ipykernel_11852/1134487354.py in
> 6 m.drawmeridians(np.arange(0.,360.,90.),linewidth=0.4,color='gray',labels=[True,True,True,True])
> 7 #在Py3.7下使用basemap==1.2.0,在循环填白addcyclic时可能会报错
> ----> 8 psi_p1,lon1=addcyclic(np.array(psi_p),np.array(lon))
> 9 lonsn, latsn = np.meshgrid(lon1, lat)
> 10 x_cyc,y_cyc=m(lonsn,latsn) #建立投影坐标映射
>
> D:\AnacondaSoftware\lib\site-packages\mpl_toolkits\basemap\__init__.py in addcyclic(*arr, **kwargs)
> 5101 return _addcyclic_lon(arr[-1])
> 5102 else:
> -> 5103 return list(map(_addcyclic,arr[:-1])) + [_addcyclic_lon(arr[-1])]
> 5104
> 5105 def _choosecorners(width,height,**kwargs):
>
> D:\AnacondaSoftware\lib\site-packages\mpl_toolkits\basemap\__init__.py in _addcyclic(a)
> 5086 raise ValueError('The specified axis does not correspond to an '
> 5087 'array dimension.')
> -> 5088 return npsel.concatenate((a,a[slicer]),axis=axis)
> 5089 def _addcyclic_lon(a):
> 5090 """addcyclic function for a single longitude array"""
>
> **IndexError**: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
>

The code is:
`psi_p1,lon1=addcyclic(np.array(psi_p),np.array(lon))`

Here is the variable _psi_p_: https://box.nju.edu.cn/f/64583aedd0c24eae909d/
_lon_: https://box.nju.edu.cn/f/a273d137b454468c8007/

Software and module versions are: Python 3.8.8, numpy 1.23.5, basemap: 1.2.2

I am wondering whether it is due to inconsistency of package version? Is it possible to fix the bug without reinstall python or modules due to interdependence of a lot of my other modules. Thanks a lot!!

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’appel signalé avec les données psi_p et lon liées sous Python 3.8.8, numpy 1.23.5 et Basemap 1.2.2. Inspectez ensuite mpl_toolkits/basemap/__init__.py autour de addcyclic et _addcyclic, en particulier l’indexation défaillante du tableau. Le travail est considéré comme terminé lorsqu’une correction compatible est identifiée ou que les conditions d’entrée ou de version requises pour éviter l’IndexError sont documentées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
numpy, python
Domaine
data-visualization
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.