Графической '' quantmod являются объектно-ориентированными. Данные хранятся в среде (с именем «Env») внутри другой среды (названной так, как вы ее называете, «cspy» в этом случае). Специальные функции диаграмм сохраняются вместе с данными в «прото-объекте». Это более объектно-ориентированный подход, чем используется в парадигмах программирования S3 или S4, которые гораздо чаще встречаются в R. Для более подробной информации следует проконсультироваться с «proto'-пакетом». После того, как совать вокруг кода в chartSeries
и объект, который он создает, я могу получить маркировку на вершине, чтобы уйти с этим:
cspy <- chart_Series(SPY, name = NULL)
cspy$Env$actions[[4]] <- NULL
cspy
«quantmod» код имеет следующее:
cs$Env$name <- name
text.exp <- c(expression(text(1 - 1/3, 0.5, name, font = 2,
col = "#444444", offset = 0, cex = 1.1, pos = 4)),
expression(text(NROW(xdata[xsubset]),
0.5, paste(start(xdata[xsubset]), end(xdata[xsubset]),
sep = "/"), col = 1, adj = c(0, 0), pos = 2)))
cs$add(text.exp, env = cs$Env, expr = TRUE)
. .. но я не был в состоянии выяснить имя этого листа, так что я посмотрел на:
cspy$Env$actions
... и увидел, что имя и дата-диапазона были в 4-ом пункте. поэтому я просто удалил его. (Чтобы избавиться только от имени, это тривиально: chart_Series(SPY, name = NULL)
. (Я не знаю, будет ли местоположение этого графического элемента в объекте согласованным, и я не вижу метода доступа к этому объекту, так что это . возможно нестабильное хак)
Чтобы освободить место для текста маржинальной (субтитров):
png("out.png")
myoma <- par("oma")
myoma[1] <- 3
par("oma" =myoma)
cspy
title("S&P Index", cex.main = 2, font.main= 4, col.main= "blue")
mtext(text= "text1\ntext2\ntext3", side=1, cex = 0.75, font = 3, col = "red",line=7)
dev.off()
большое спасибо за вашу помощь. –