matplotlib / matplotlib/basemap
Cannot plot a simple map over Africa if lon_0 is not equal to zero
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 817
- Forks
- 395
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
This might be related to https://github.com/matplotlib/basemap/issues/183
I have a quite simple global 0.1 degree image that I would like to put onto a map. The code for reproducing the problem is the following.
```python
m = Basemap(width=12000000, height=8000000,
resolution='l', projection='stere',
lat_ts=0, lat_0=0, lon_0=21.)
# m = Basemap(width=9000000, height=9000000,
# projection='aeqd', lat_0=0, lon_0=1)
lons = np.arange(-179.95, 180.01, 0.1)
lats = np.arange(-89.95, 90.01, 0.1)
data = np.random.random((1800, 3600))
lons, lats = np.meshgrid(lons, lats)
x, y = m(lons, lats)
m.pcolormesh(x, y, data,
latlon=False, cmap='RdBu')
# m.imshow(np.flipud(anom)[1500:2470,600:1200])
m.drawcoastlines()
m.drawcountries()
plt.show()
```
The result is the following:

Changing `lon_0` from 21 to 0 gives the following:

I've also tried this with `aeqd` and `laea` projections with the same results.
##### conda environment for testing
```
name: test_basemap
channels:
- !!python/unicode
'defaults'
- !!python/unicode
'conda-forge'
dependencies:
- !!python/unicode
'basemap=1.0.7=np112py27_0'
- !!python/unicode
'cairo=1.14.8=0'
- !!python/unicode
'cycler=0.10.0=py27_0'
- !!python/unicode
'dbus=1.10.10=0'
- !!python/unicode
'expat=2.1.0=0'
- !!python/unicode
'fontconfig=2.12.1=3'
- !!python/unicode
'freetype=2.5.5=2'
- !!python/unicode
'functools32=3.2.3.2=py27_0'
- !!python/unicode
'geos=3.5.0=0'
- !!python/unicode
'glib=2.50.2=1'
- !!python/unicode
'gst-plugins-base=1.8.0=0'
- !!python/unicode
'gstreamer=1.8.0=0'
- !!python/unicode
'icu=54.1=0'
- !!python/unicode
'jpeg=9b=0'
- !!python/unicode
'libffi=3.2.1=1'
- !!python/unicode
'libgcc=5.2.0=0'
- !!python/unicode
'libiconv=1.14=0'
- !!python/unicode
'libpng=1.6.27=0'
- !!python/unicode
'libxcb=1.12=1'
- !!python/unicode
'libxml2=2.9.4=0'
- !!python/unicode
'matplotlib=2.0.0=np112py27_0'
- !!python/unicode
'mkl=2017.0.1=0'
- !!python/unicode
'numpy=1.12.1=py27_0'
- !!python/unicode
'openssl=1.0.2k=1'
- !!python/unicode
'pcre=8.39=1'
- !!python/unicode
'pip=9.0.1=py27_1'
- !!python/unicode
'pixman=0.34.0=0'
- !!python/unicode
'pycairo=1.10.0=py27_0'
- !!python/unicode
'pyparsing=2.1.4=py27_0'
- !!python/unicode
'pyqt=5.6.0=py27_2'
- !!python/unicode
'python=2.7.13=0'
- !!python/unicode
'python-dateutil=2.6.0=py27_0'
- !!python/unicode
'pytz=2016.10=py27_0'
- !!python/unicode
'qt=5.6.2=3'
- !!python/unicode
'readline=6.2=2'
- !!python/unicode
'setuptools=27.2.0=py27_0'
- !!python/unicode
'sip=4.18=py27_0'
- !!python/unicode
'six=1.10.0=py27_0'
- !!python/unicode
'sqlite=3.13.0=0'
- !!python/unicode
'subprocess32=3.2.7=py27_0'
- !!python/unicode
'tk=8.5.18=0'
- !!python/unicode
'wheel=0.29.0=py27_0'
- !!python/unicode
'zlib=1.2.8=3'
prefix: !!python/unicode '/home/cpa/.pyenv/versions/miniconda-3.16.0/envs/test_basemap'
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die bereitgestellte Basemap-Reproduktion mit der angegebenen Python-, matplotlib- und numpy-Umgebung auszuführen, und vergleiche lon_0=21 mit lon_0=0 sowie die Beispiele aeqd und laea. Es werden keine Quelldateien oder Tests genannt; abgeschlossen ist die Aufgabe, wenn das globale pcolormesh für Werte von lon_0 ungleich null korrekt über der Karte positioniert ist, ohne die anderen Projektionen zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- matplotlib, numpy, python
- Bereich
- data-visualization
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100