Python 3.x 在基本映射上使用imshow()

Python 3.x 在基本映射上使用imshow(),python-3.x,matplotlib,matplotlib-basemap,Python 3.x,Matplotlib,Matplotlib Basemap,我试图在Python3.5中的Basemap对象上投影一个2D数组。 我采用的方法是创建一个带有圆柱形项目的简单Basemap对象,这样就不需要映射lat/lon坐标,然后在同一轴上使用imshow()来绘制日期。不幸的是,这似乎不起作用,因为我什么也看不到 当我试着画一条线时,同样的程序也可以很好地工作。 我做错了什么 提前谢谢你的帮助 下面是我正在使用的代码示例: import matplotlib.pyplot as plt from mpl_toolkits.basema

我试图在Python3.5中的Basemap对象上投影一个2D数组。 我采用的方法是创建一个带有圆柱形项目的简单Basemap对象,这样就不需要映射lat/lon坐标,然后在同一轴上使用imshow()来绘制日期。不幸的是,这似乎不起作用,因为我什么也看不到

当我试着画一条线时,同样的程序也可以很好地工作。 我做错了什么

提前谢谢你的帮助

下面是我正在使用的代码示例:

    import matplotlib.pyplot as plt
    from mpl_toolkits.basemap import Basemap
    import numpy as np

    # Draw map with cyl projection
    m = Basemap(projection='cyl', llcrnrlon=-140, llcrnrlat=20, urcrnrlon=-70, urcrnrlat=70,
                resolution='l')
    m.drawcountries(linewidth=1.8)
    m.drawstates(linewidth=1.2)
    m.drawcoastlines(1.8)
    m.drawmapboundary(fill_color='#99ffff')
    m.fillcontinents(color='#cc9966', lake_color='#99ffff', alpha=0.5)

    ax = plt.gca()

    # Plot line from lat/lon: (36, -113) to (40, -100)
    ax.plot([-113, -100], [36, 40], linewidth=4)

    # Use imshow()
    extent = [-113, -100, 36, 40]
    imag = [[1, 2], [3, 4]]
    im = ax.imshow(imag, extent=extent, cmap='hot_r')
    plt.show()

图像将在那里,但隐藏在土地形状后面

您可以使用
zorder
将其置于前面,例如

ax.imshow(..., zorder=3)

成功了。谢谢您可能需要阅读并检查之前的问题。