matplotlib / matplotlib/basemap
Cannot plot a simple map over Africa if lon_0 is not equal to zero
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 817
- フォーク
- 395
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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'
```
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、指定された Python、matplotlib、numpy 環境で提供された Basemap の再現コードを実行し、lon_0=21 と lon_0=0、および aeqd と laea の例を比較します。ソースファイルやテストは指定されていません。lon_0 がゼロでない値の場合に、他の投影を壊すことなく、グローバルな pcolormesh が地図上に正しく配置されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- matplotlib, numpy, python
- 領域
- data-visualization
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100