代码之家  ›  专栏  ›  技术社区  ›  stats_noob

R: 图上的值与数据不匹配

r
  •  0
  • stats_noob  · 技术社区  · 1 年前

    我正在使用R编程语言。

    我有以下数据:

    var1 = c(5,5,8,13,14,12,11,10,9,9,8,8)
    var2 = c(13,13,22,30,35,31,25,24,20,20,20,21)
    
    var1 <- ts(var1, start = 2010, frequency = 12)
    var2 <- ts(var2, start = 2010, frequency = 12)
    
    df = cbind(var1,var2)
    
            var1 var2
    Jan 2010    5   13
    Feb 2010    5   13
    Mar 2010    8   22
    Apr 2010   13   30
    May 2010   14   35
    Jun 2010   12   31
    Jul 2010   11   25
    Aug 2010   10   24
    Sep 2010    9   20
    Oct 2010    9   20
    Nov 2010    8   20
    Dec 2010    8   21
    

    然后,我为这些数据绘制了以下图表:

    library(dygraphs)
    
    dygraph(df, main = "Stacked Graph") %>%
      dySeries("var1", label = "Var1") %>%
      dySeries("var2", label = "Var2") %>%
      dyOptions(stackedGraph = TRUE) %>%
      dyRangeSelector(height = 20)
    

    enter image description here

    我的问题: 当我查看这些数据的图表时,我发现绿色值几乎接近“50”——然而,最大的值是整个数据集只有35。

    我不想把两个变量(var1,var2)加在一起——我只想用叠加的时间序列图来绘制它们的值。

    有人能告诉我怎么修吗?

    谢谢

    2 回复  |  直到 1 年前
        1
  •  1
  •   Till    1 年前

    您可以省略 dyOptions() 完全呼叫或 设置 stackedGraph 其中的论点 FALSE

    堆叠图表示系列的值为 相加/求和。通过转动你的那个特征,你得到了平原 序列值。

    您可以设置 fillGraph 中的自变量 dySeries() TRUE 到 给线下的区域上色。

    var1 = c(5,5,8,13,14,12,11,10,9,9,8,8)
    var2 = c(13,13,22,30,35,31,25,24,20,20,20,21)
    
    var1 <- ts(var1, start = 2010, frequency = 12)
    var2 <- ts(var2, start = 2010, frequency = 12)
    
    df = cbind(var1,var2)
    
    library(dygraphs)
    
    dygraph(df, main = "Graph") %>%
      dySeries("var1", label = "Var1", fillGraph = TRUE) %>%
      dySeries("var2", label = "Var2", fillGraph = TRUE) %>%
      dyOptions(stackedGraph = FALSE) %>%
      dyRangeSelector(height = 20)
    

        2
  •  1
  •   alexrai93    1 年前

    正确的选项是fillGraph=TRUE,如果您使用stackedGraph,它将为您提供堆叠版本。

    library(dygraphs)
    
    dygraph(df, main = "Stacked Graph") %>%
      dySeries("var1", label = "Var1") %>%
      dySeries("var2", label = "Var2") %>%
      dyOptions(fillGraph = TRUE) %>%
      dyRangeSelector(height = 20)