Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Cannot plot a simple map over Africa if lon_0 is not equal to zero

未关闭
#347 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
matplotlib, numpy, python

调研方向

首先,在列出的 Python、matplotlib 和 numpy 环境中运行所提供的 Basemap 复现,并比较 lon_0=21 与 lon_0=0 以及 aeqd 和 laea 示例。未指定源文件或测试;当 lon_0 为非零值时,全局 pcolormesh 能够正确定位在地图上,且不影响其他投影时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

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.

    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:
basemap-stere_lon_0 21

Changing lon_0 from 21 to 0 gives the following:
basemap-stere_lon_0 0

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'
主要语言
Python
星标
818
派生
395
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

matplotlib/basemap 的其他 Issue

查看 matplotlib/basemap 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。