【问题标题】:Python - Plot with pcolormesh and basemapPython - 使用 pcolormesh 和底图绘图
【发布时间】:2017-10-04 04:04:29
【问题描述】:

我想用立体投影来绘制我的数据。但是,当我尝试绘制时,除了大​​陆之外什么都没有绘制。

为了解释,这是我的数据图:

plt.pcolormesh(longrid_t, latgrid_t,totvart_t)

longrid_t 是经度,latgrid_t 是纬度,totvart_t 是我要绘制的数据。

这是仅使用 pcolormesh(无底图)作为plt.pcolormesh(longrid_t, latgrid_t,totvart_t) 绘制的图:

现在,我尝试使用立体投影来绘制这些数据:

map = Basemap(width=10000000,height=6000000, resolution='l',projection='stere',
        lat_0=40.,lon_0=-40.)
map.fillcontinents(color='darkgrey',lake_color='darkgrey')
map.drawcoastlines()
map.drawparallels(arange(-90, 91., 10.), labels=[1, 0, 0, 1],
                dashes=[1, 1], linewidth=0.25, color='0.5')
map.drawmeridians(arange(-180., 181., 10.), labels=[1, 0, 0, 1],
                dashes=[1, 1], linewidth=0.25, color='0.5')

map.pcolormesh(longrid_t, latgrid_t, totvart_t, cmap='jet')
map.colorbar()

但是,这个立体投影的结果不是我所期望的:

我也尝试过其他预测。并且还使用 pcolor 和 contourf 而不是 pcolormesh。但它给了我同样的结果。

你有什么想法吗?

【问题讨论】:

  • 您是否尝试过在致电map.pcolormesh 时使用latlon=True kwarg?

标签: python matplotlib plot matplotlib-basemap


【解决方案1】:

您必须将坐标数据转换为投影 xy 坐标,然后使用转换后的坐标进行绘图:

map = Basemap(width=10000000,height=6000000, resolution='l',projection='stere',
        lat_0=40.,lon_0=-40.)
map.fillcontinents(color='darkgrey',lake_color='darkgrey')
map.drawcoastlines()
map.drawparallels(arange(-90, 91., 10.), labels=[1, 0, 0, 1],
                dashes=[1, 1], linewidth=0.25, color='0.5')
map.drawmeridians(arange(-180., 181., 10.), labels=[1, 0, 0, 1],
                dashes=[1, 1], linewidth=0.25, color='0.5')
# convert lat-lon to projection coordinate system
xpt,ypt = m(longrid_t, latgrid_t) # convert to projection map

map.pcolormesh(xpt, ypt, totvart_t, cmap='jet')
map.colorbar()

【讨论】:

    【解决方案2】:

    它可以将latlon=True kwarg 添加到我对map.pcolormesh 的调用中

    因此

    map.pcolormesh(longrid_t, latgrid_t, totvart_t, cmap='jet',latlon=True)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 2013-10-30
      • 2014-04-08
      相关资源
      最近更新 更多