代码之家  ›  专栏  ›  技术社区  ›  S Novogoratz

在R中使用Segments命令绘制烛台图

  •  0
  • S Novogoratz  · 技术社区  · 6 年前

    我试图用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 回复  |  直到 6 年前
        1
  •  0
  •   Jonny Phelps    6 年前

    我运气不好,对不起。我建议你自己建一块地。

    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 包,大量的在线教程

    推荐文章