交互式绘图:使用滑动条操作 ggplot2 绘图的内容

djf*_*noy 0 r ggplot2 shiny

编辑:感谢哈维尔的建议。我忘了提到我想将此交互式绘图合并到报告/仪表板中,因此适用于来自 RMarkdown 的 HTML 文档的东西将是理想的,但仪表板解决方案也可以。

考虑以下情节;红线代表实际数据,而绿线描绘模型生成的预测:

在此处输入图片说明

显示两个不同模型的预测;一个训练了前 100 小时,另一个训练了前 216 小时。然后为看不见的数据点生成预测,然后绘制。

我想做的是训练n模型,例如。以扩大的窗口方式每 12 小时一次。完成此操作后,我想以交互方式呈现结果,用户可以单击/滑动某些东西来前后移动垂直线,从而更改显示哪个模型的预测。关键是要直观地显示不同训练长度的效果。

我是 R 中闪亮和交互式绘图的新手;这可以在没有太多麻烦的情况下完成吗?

小智 5

您可以使用该manipulate软件包进行快速交互式绘图。Shiny需要更多的微调,而且更耗时。

这是一个可重现的示例供您测试: 这将创建滑块:

library(manipulate)
manipulate(plot(1:x), x = slider(1, 100)) 
Run Code Online (Sandbox Code Playgroud)

将您的代码放在此处以创建交互式绘图:

manipulate(
  plot(cars, xlim = c(0, x.max), type = type, ann = label),
  x.max = slider(10, 25, step=5, initial = 25),
  type = picker("Points" = "p", "Line" = "l", "Step" = "s"),
  label = checkbox(TRUE, "Draw Labels"))
Run Code Online (Sandbox Code Playgroud)

情节1

查看 CRAN 操作包了解更多信息:https : //cran.r-project.org/web/packages/manipulate/index.html