Я записал график, созданный функцией.Функция устанавливает различные значения 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 ().Может кто-нибудь уточнить?