Я создаю небольшой графический интерфейс для анализа климата с использованием gWidgets в R. Progress был медленным, но устойчивым, пока не ударил проблему, пытаясь отобразить мой растровый стек результатов, используя spplot()
. Проблема заключается в том, что только первый растр в стеке нанесен на график, а остальные нет. Эта проблема возникает независимо от того, если:R-spplot не строит растровый стек в gWidgets GUI
Я создаю участок, используя обработчик в графическом интерфейсе.
Если график произведен с использованием обработчика в пределах функции
addHandlerChanged
/addHandlerClicked
.Если участок загружен в графический интерфейс непосредственно с консоли R.
Как указано выше, используя используя
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)
Вот пример ожидаемого участка (слева) и фактическое (справа), используя приведенный выше код.
Если у кого-нибудь есть идеи, как обойти это или любые альтернативные варианты построения растровых стеков, я хотел бы их услышать.
(обратите внимание, что аналогичные результаты получены, если открыть отдельное окно с помощью windows()
внутри GUI или, если я использую levelplot()
)
Приветствия
Получаете ли вы те же результаты, используя 'print (spplot (rs))'? –
Спасибо. 'print (spplot (rs))' работает, если я вызываю новое окно с помощью 'windows()' внутри обработчика. Но на странице 'ggraphics()' она все еще не отображается правильно. На самом деле показ в окне будет –
Возможно, это ошибка в 'cairoDevice': http://stackoverflow.com/questions/14281135/lattice-graphics-in-a-r-widget –