R で gWidgets を使用して気候分析用の小さな GUI を作成していますspplot()
。問題は、スタック内の最初のラスターのみがプロットされ、残りはプロットされないことです。この問題は、次の場合に関係なく発生します。
GUI 内のハンドラーを使用してプロットを生成します。
addHandlerChanged
/addHandlerClicked
関数内のハンドラーを使用してプロットが生成される場合。プロットが R コンソールから直接 GUI に読み込まれる場合。
上記と同じですが、 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()