Понимание номинала в записанном участке () и списках отображения - PullRequest
1 голос
/ 28 декабря 2011

Я записал график, созданный функцией.Функция устанавливает различные значения par (), чтобы на одной странице могли отображаться три цвета с разными цветами:

library( PerformanceAnalytics )
data( managers )

# write the plot to the open device
suppressWarnings(charts.RollingRegression(managers[, 1:6], managers[, 8, drop=FALSE], Rf = .04/12, colorset = rich6equal, legend.loc="topleft"))

# record = investigate the primitive calls
recorded = recordPlot()
lapply(recorded[[1]], "[[", 1 )

# show the last instruction - the par call that does most of the par work
recorded[[ 1 ]][[ 54 ]]

Я не понимаю, как / почему последний вызов .Primitive равен "par" (содержит основную часть номиналов, необходимых для отображения трех диаграмм на одной странице).Это появляется после «plot.new» для последнего / нижнего графика (вы можете проверить «заголовок» для подтверждения).Если инструкции выполняются по порядку, тогда par () будет применен последним, а компоновка будет испорчена.Не похоже, что инструкции могут быть выполнены в обратном порядке, потому что требуется plot.new().

Я не понимаю, как replayPlot() восстанавливает график с правильными настройками par ().Может кто-нибудь уточнить?

1 Ответ

3 голосов
/ 28 декабря 2011

Если бы я писал recordPlot, я бы попытался собрать существующие настройки par () в той точке, в которой они были запущены, чтобы их можно было восстановить (с помощью вызова par ()) после выхода и повторного входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...