【问题标题】:How can I create multiple shades in dygraphs using a data frame?如何使用数据框在 dygraphs 中创建多个阴影?
【发布时间】:2019-10-29 02:46:47
【问题描述】:

我有使用 dygraphs 绘制的时间序列数据。现在我想遮蔽一些事件。这些事件的起点和终点存储在一个数据框中。但是,当我尝试编写一个添加多个阴影的函数时,我总是会收到错误消息。

我曾尝试直接在代码中使用 for 循环,但随后我收到错误消息,即找不到我的虚拟变量。 我试过用for循环编写一个函数,但是当我应用它时,它使用的第一个参数是“。”。这当然会破坏功能。

for (i in 1:length(dataframe$start)){
dyShading(from = dataframe$start[i], to = dataframe$end[i])
}
addshading <- function(periods){
  for (i in 1:length(periods[,1])){
    x <-dyShading(from = periods$start[i], to = periods$end[i])
  }
  x
}

dygraph() %&gt;% 之后直接运行 for 循环会给出以下错误消息:

function_list[k] 中的错误:找不到对象“i”

dygraph() %&gt;% 之后直接运行addshading(dataframe) 会给出以下错误消息:

addshading(., dataframe) 中的错误:未使用的参数(dataframe)

我希望我说清楚了,我是新手来寻求编码方面的帮助。

【问题讨论】:

    标签: r r-dygraphs


    【解决方案1】:

    您需要先将dygraph() 分配给一个对象,然后使用dyShading() 逐步更新该对象-

    p <- dygraph(your_data)
    
    for (i in 1:nrow(dataframe)) {
      p <- p %>% dyShading(from = dataframe$start[i], to = dataframe$end[i])
    }
    
    print(p)
    

    【讨论】:

    • 知道如何使用purrr 包做到这一点吗?
    猜你喜欢
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    相关资源
    最近更新 更多