4

等高線図をプロットしましたが、いくつか改善する必要があります。これは、使用されるデータの構造です。

str(lon_sst)
# num [1:360(1d)] -179.5 -178.5 -177.5 -176.5 -175.5 ...

str(lat_sst)
# num [1:180(1d)] -89.5 -88.5 -87.5 -86.5 -85.5 -84.5 -83.5 -82.5 -81.5 -80.5 ...

dim(cor_Houlgrave_SF_SST_JJA_try)
# [1] 360 180

require(maps)
maps::map(database="world", fill=TRUE, col="light blue")
maps::map.axes()
contour(x=lon_sst, y=lat_sst, z=cor_Houlgrave_SF_SST_JJA_try[c(181:360, 1:180),],
        zlim=c(-1,1), add=TRUE)
par(ask=TRUE)
filled.contour(x = lon_sst, y=lat_sst,
               z=cor_Houlgrave_SF_SST_JJA_try[c(181:360, 1:180),],
               zlim=c(-1,1), color.palette=heat.colors)

ここに画像の説明を入力 ここに画像の説明を入力

ほとんどの相関は 0 に近いため、大きなものを見るのは非常に困難です。

  1. 見やすくしたり、拡大できるように解像度を変更したりできますか? 現時点では、等高線の間隔が狭すぎるため、等高線のレベルがわかりません。

  2. 増分はどこで確認できますか。範囲を (-1,1) に設定しました。間隔を手動で設定する方法がわかりません。

  3. 100 から 160 までの経度と -50 から -80 までの緯度など、マップの特定の領域をプロットする方法を誰か教えてもらえますか? と を交換しようとしましlon_sstlat_sstが、寸法エラーがあります。ありがとう。

4

2 に答える 2

3

同じリクエストのように見える1と3に答えるには、次のことを試してください。

maps::map(database="world", fill=TRUE, col="light blue", 
                            ylim=c(-80, -50), xlim=c(100,160) )

対処方法2:[-1,1]よりもはるかに狭い範囲です。これらの等高線のラベルは、.06、-。02、.02などの数字です。このcontour関数は、「nlevels」または「levels」引数のいずれかを受け入れます。拡大したセクションができたら、それを使用して輪郭のz解像度を調整できます。

于 2012-02-07T13:15:08.040 に答える