2017-05-05 7 views
1

私は、例えば立体投影を使って私のデータをプロットしたいと思います。しかし、私がプロットしようとすると、大陸を除いて何もプロットされません。Python - pcolormeshとベースマップでプロットする

longrid_tは経度である
plt.pcolormesh(longrid_t, latgrid_t,totvart_t) 

latgrid_tは緯度とtotvart_t私はプロットしたいデータである:

説明するが、これは、私のデータプロットの図です。

ここで図はplt.pcolormesh(longrid_t, latgrid_t,totvart_t)として(ベースマップなし)のみpcolormeshプロットである:

Figure plotted only with pcolormesh (without basemap : plt.pcolormesh(longrid_t, latgrid_t,totvart_t)

ここで、Iは、立体射影を使用してこれらのデータをプロットしてみました:

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() 

しかし、この立体投影の結果は私が期待したものではありません:

stereographic projection

私は他の予測も試しました。また、pcolormeshの代わりにpcolorとcontourfを使用することもできます。しかし、それは私に同じ結果をもたらします。

アイデアはありますか?あなたは、投影のxy座標にあなたの座標データを変換し、変換後の座標にプロットする必要が

+0

'map.pcolormesh'の呼び出しで' latlon = True' kwargを使ってみましたか? – farenorth

答えて

1

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() 
0

はどうもありがとうございました! mapl.pcolormeshのymy呼び出しでlatlon = True kwargを追加するだけで動作します。

関連する問題