3

R で gWidgets を使用して気候分析用の小さな GUI を作成していますspplot()。問題は、スタック内の最初のラスターのみがプロットされ、残りはプロットされないことです。この問題は、次の場合に関係なく発生します。

  1. GUI 内のハンドラーを使用してプロットを生成します。

  2. addHandlerChanged/addHandlerClicked関数内のハンドラーを使用してプロットが生成される場合。

  3. プロットが R コンソールから直接 GUI に読み込まれる場合。

  4. 上記と同じですが、 using を使用してlevelplot()います。

を使用すると、結果は正しくplot()表示されますが、最初の 16 個のみが表示され (24 個のグラフがあります)、スケールが結合されず、結果の解釈が難しくなります。

この問題を説明するためのコード例を次に示します。

require(gWidgets)
require(raster)

## create example GUI plot area
win = gwindow("Graph test")
nb = gnotebook(container=win,expand=T)
plots = ggraphicsnotebook(container=nb)

## create raster stack
rs=list()
for(i in 1:24){
  rs1=raster()
  rs1[]=rnorm(3600)
  rs[i]=rs1
}
rs=stack(rs)

## attempt to plot stack
spplot(rs) ##plot is not produced correctly with only the first raster plotted

##compare this to plotting in a normal window
windows()
spplot(rs)


上記のコードを使用した予想されるプロット (左) と実際のプロット (右) の例を次に示します。
期待される結果と実際の結果
これを回避する方法や、ラスター スタックの別のプロット オプションを知っている人がいれば、ぜひ聞いてみたいと思います。( GUI 内

を使用して別のウィンドウを開くか、または を使用すると、同様の結果が生成されることに注意してください) 乾杯windows()levelplot()

4

1 に答える 1