0

Contourf を使用して、ベースマップ上に塗りつぶされた等高線を作成しようとしています。これは私が使用しているコードです。エラーは発生せず、正常に実行され、カラーバーも表示されますが、等高線は表示されず、マップの背景は白のみです。輪郭を機能させるにはどうすればよいですか?

x = [1,2,3]
y = [4,5,6]
z = [7,8,9]

x = np.array(x)
y = np.array(y)
z = np.array(z)

x = np.reshape(x, (1,-1))
y = np.reshape(y, (1,-1))    
z = np.reshape(z, (1,-1))

cs = plt.contourf(x, y, z, 50, cmap='jet')
plt.colorbar()


map = Basemap(projection='cyl', resolution = 'l', area_thresh=1000.0,
          llcrnrlon = -1, llcrnrlat = -1, urcrnrlon = 7, urcrnrlat = 7)
map.drawcoastlines()
map.drawcountries()
map.drawmapboundary()
map.drawmeridians(np.arange(0, 360, 30))
map.drawparallels(np.arange(-90, 90, 30))


for lon, lat in zip(x, y):
    x, y = map(x, y)
    map.plot(x, y, 'ro', markersize = 10)

plt.show()
4

1 に答える 1

2

おそらくlatlon=True関数に追加する必要があるため、次のcontourfようになります。

plt.contourf(x, y, z, 50, cmap='jet',latlon=True)

これにより、関数は x、y データを通常の点ではなく座標として解釈します。

于 2014-10-30T16:57:02.713 に答える