在R中使用Segments命令的烛台图

时间:2018-09-19 13:02:08

标签: r plot segments

我正在尝试使用R从OHLC数据中绘制烛台图。我​​需要能够控制视觉输出,因此我在Daniel Kovach的YouTube教程中使用了一个细微的变化,这是一个非常好的例子,从头开始构建它们。当我尝试绘制烛台时,图形上没有任何显示。当我手动创建时间序列时,此代码有效,但是当我使用getSymbols命令时,此代码无效。我怀疑这与处理x坐标的方式有关,但我似乎无法弄清楚。这是我的代码:

library(quantmod)
getSymbols("SPY")
[1] "SPY"
df <- last(SPY[],10)
df
           SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
2018-09-05   289.41   289.64  287.89    289.03   72452400       289.03
2018-09-06   289.15   289.49  287.00    288.16   65909900       288.16
2018-09-07   286.98   288.70  286.71    287.60   73524800       287.60
2018-09-10   288.74   289.04  287.88    288.10   50210900       288.10
2018-09-11   287.37   289.55  286.98    289.05   50530500       289.05
2018-09-12   289.06   289.80  288.23    289.12   59810800       289.12
2018-09-13   290.32   291.04  290.00    290.83   51034200       290.83
2018-09-14   291.06   291.27  290.00    290.88   55079900       290.88
2018-09-17   290.82   290.86  289.03    289.34   68244000       289.34
2018-09-18   289.58   291.58  289.55    290.91   61865000       290.91
plot (df[,1])
j=index(df)
segments (x0=j, y0=df[,2], x1=j, y1=df[,3], col="black")

1 个答案:

答案 0 :(得分:0)

运气不好,对不起。我建议例如建立自己的情节。

plot(index(df), df[,1], type = "p", ylab = "", xlab = "",
     ylim = range(df[,1:3]), main = "Title")
axis(1, at=round(unique(df[,1:3]), 0))
grid()
segments (x0=index(df), y0=df[,2], 
          x1=index(df), y1=df[,3])
lines(index(df), df[,1], lwd = 2)

plot.xts只是plot,但有一些附加内容可以复制,尽管不完全相同

或者如果您想使其更加精美,请查看ggplot2软件包以及大量在线教程