R-自画蜡烛图CandleChart

来源:互联网 发布:js获取文本内容 编辑:程序博客网 时间:2024/04/29 21:50
getCandleChart<-function(x,theme='white'){     x<-na.omit(x)          xax<-x$DATETIME     print(paste("xax[1]=",xax[1]))          Opens <- as.numeric(x$Open)     Highs <- as.numeric(x$High)     Lows <- as.numeric(x$Low)     Closes <- as.numeric(x$Close)                         #x,y取值范围     xrange<- c(min(xax),max(xax))     yrange <- c(min(Lows, na.rm = TRUE), max(Highs, na.rm = TRUE))                #蜡烛宽度     spacing <- 1     length <- nrow(x)          #颜色     bg.col="white"     fg.col="white"     dn.col="green"     up.col="red"     bar.border="black"          x.pos <- xax               #par(bg=bg.col,col.axis=fg.col,fg=fg.col)     # create scale of main plot window     plot.new()     plot.window(xlim=c(xrange[1],xrange[2]),ylim=c(yrange[1],yrange[2]))          #颜色     bar.col <- ifelse(Opens < Closes,dn.col,up.col)               bar.border <- bar.border     #上下影线及矩形实体边界颜色          segments(x.pos,Lows,x.pos,apply(cbind(Opens,Closes),1,min),col=bar.border)       #蜡烛下影线     segments(x.pos,Highs,x.pos,apply(cbind(Opens,Closes),1,max),col=bar.border)      #蜡烛上影线          rect(x.pos-spacing/3,Opens,x.pos+spacing/3,Closes,col=bar.col,border=bar.border)  #蜡烛实体     axis(1,at=x.pos,labels=format(xax,format="%H:%M:%S"))     axis(2)     box(col=bar.border)}     

0 0
原创粉丝点击