You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言dygraphs报错:Unsupported type passed to argument 'data' 解决方法

解决dygraphs绘制堆叠图时的「Unsupported type passed to argument 'data'」错误

问题场景

用dygraphs包制作堆叠图,先模拟了如下时间序列数据:

library(dygraphs)

set.seed(1)
date <- seq(as.Date("2010-01-01"), as.Date("2010-12-01"), by = "month")
var1 <- rnorm(length(date), mean = 100, sd = 10)
var2 <- rnorm(length(date), mean = 50, sd = 5)
df <- data.frame(date, var1, var2)

运行绘图代码时触发错误:

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

报错信息:

Error in dygraph(df, main = "Stacked Graph") : 
  Unsupported type passed to argument 'data'.

报错原因

dygraphs的核心函数dygraph()仅支持xts、ts或zoo类型的时间序列数据作为输入,直接传入普通数据框会因类型不兼容触发该错误。

解决方案

通过xts包将数据框转换为xts格式后再传入dygraph(),代码如下:

library(xts)
# 将数据框转换为xts对象:提取数值列,指定日期为索引
df_xts <- xts(df[,-1], order.by = df$date)

# 重新绘制堆叠图
dygraph(df_xts, main = "Stacked Graph") %>%
  dySeries("var1", label = "Var1") %>%
  dySeries("var2", label = "Var2") %>%
  dyOptions(stackedGraph = TRUE) %>%
  dyRangeSelector(height = 20)

内容的提问来源于stack exchange,提问作者stats_noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:02:14