1

いくつかの気候モデル出力の極平射投影図を作成しています。これらのデータの一部では、プロットが奇妙に見えます。たとえば、次の図を参照してください。

ここに画像の説明を入力

実際のデータははるかに広い範囲に及ぶはずですが、2 つの色の等高線しか表示されませんでした。さらに、データはすでに netcdf モジュールによってマスクされている (未定義) ため、領域の大部分は空白である必要があります。

from netCDF4 import Dataset
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
import numpy as np    
from mpl_toolkits.basemap import Basemap    
from pylab import *
fig_index=1
fig = plt.figure(num=fig_index, figsize=(12,7), facecolor='w')
fbot_levels = arange(0.05,1.0,0.05)
fname='alb.nc4'
ncfile = Dataset(fname, 'r', format='NETCDF4')
TS2=ncfile.variables['SIALB'][0]
LON=ncfile.variables['lon'][:]
LAT=ncfile.variables['lat'][:]
ncfile.close()
lon,lat=np.meshgrid(LON,LAT)
ax2 = plt.axes([0.2, 0.225, 0.6, 0.6])
meridians=[0,1,1,1]
m = Basemap(projection='spstere',lon_0=0,boundinglat=-45)
m.drawcoastlines()
x, y =m(lon,lat)
plt.contourf(x,y,TS2, fbot_levels, origin='lower')
m.drawparallels(np.arange(-90.,120.,15.),labels=[1,0,0,0]) # draw parallels
m.drawmeridians(np.arange(0.,420.,30.),labels=meridians) # draw meridians
coloraxis = [0.1, 0.1, 0.8, 0.035]
cx = fig.add_axes(coloraxis, label='m', title='K')
cbar=plt.colorbar(cax=cx,orientation='horizontal',ticks=list(fbot_levels))
plt.show()

ここで図を生成するために使用される netcdf 形式のデータセットを見つけることができます

https://dl.dropboxusercontent.com/u/45427012/alb.nc4

私はpy2.7でmatplotlib-1.2.1でbasemap-1.0.6を使用しています。

4

1 に答える 1