我正在尝试更改上述图表中的一些参数。具体来说,我想做以下事情:
我的代码如下
opar <- par(oma = c(0.1,0.2,0,0.1))
par(mar=c(0,0,0,0),plt=c(0,0.1,0,0.1),mgp=c(3,0.5,0),pin=c(1,1),fin=c(0.2,0.2),
las=1,mex=0.5,cex.main=0.6,cex.lab=0.3,cex.axis=0.3)
chart.CumReturns(returns_ts,geometric=TRUE,wealth.index=TRUE,main="",xlab="",col=hblue,cex.axis=0.8,cex.lab=0.6,las=1)
par(xpd=NA)
legend(legend=paste(paste(c("Performance indexiert"),strats[i])),cex=0.7, col=hblue,lty=1, lwd=2, bty="n",
text.col="black", ncol=1, "bottom", inset = c(0.0, -.20))
text_note=c(paste("Quelle: Bloomberg,", "letzter Datenpunkt:", last(data$date)))
mtext(text_note ,cex=0.4,col=hgrey,side = 1, line = 4, outer = FALSE,padj=0,adj=1) #ensures that the text is shown at the
grid.raster(pic,x=c(0.05),y=c(0.02),width=0.05,height=0.03)
然而,没有任何事情发生,即没有任何参数被改变。我也试过
main=NULL
然后,显示时间序列的名称。
你可以帮帮我吗?此致 安德烈亚斯
答案 0 :(得分:0)
修订版3241修复了基础chart.TimeSeries
函数中的错误;它已将cex.main
和cex.lab
错误地传递到title
函数中。感谢您指出了这一点。如果你想从那里加载它,开发代码就是r-forge。
更一般地说,这些图表不能很好地使用par
。具体而言,直接使用par()
更改图表属性将不起作用。我意识到这是不对的,我已经意味着要解决它几年了,但总会有别的事情要做......
因此传递所需属性的最佳方法是直接通过该函数。如果您想删除标题,请使用main=""
。传递las
也是最近修复的,所以它对我有用。这是一个可重复的例子:
library(PerformanceAnalytics)
data(managers)
par(mar=c(1,4,4,2)) # c(bottom, left, top, right)
chart.CumReturns(managers[,1:3],geometric=TRUE,wealth.index=TRUE,main="",xlab="",col=bluefocus,cex.axis=0.8,cex.lab=0.6,las=1)
par(xpd=NA)
legend(legend=paste(paste(c("Performance indexiert"),"1")),cex=0.7, col=bluefocus,lty=1, lwd=2, bty="n",
text.col="black", ncol=1, "bottom", inset = c(0.0, -.20))
text_note=c(paste("Quelle: Bloomberg,", "letzter Datenpunkt:", "last(data$date)"))
mtext(text_note ,cex=0.4,col="grey",side = 1, line = 4, outer = FALSE,padj=0,adj=1)
随着修订,这应该按照您期望的方式工作。抱歉,如果您发现其他任何问题,请告诉我。
PCC