首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用plotly.js动画特性

使用plotly.js动画特性
EN

Stack Overflow用户
提问于 2016-09-09 16:17:00
回答 1查看 4.1K关注 0票数 3

昨天又发布了新的特色动画!因此,我非常渴望测试它,而且由于目前缺乏文档(我认为是暂时的),我在如何使用它方面遇到了很大的困难。我确实看过GitHub上的代码,但是.不起作用。

  1. 我在模板中定义了div元素:
  2. 我想让情节对调整大小的事件做出反应,因此我在这个巧妙的网站上效仿了这个例子: const d3 = Plotly.d3;const gd3 =d3。选择(“#plotDiv”).style({宽度:"95%",“边距-左”:"2.5%"});
  3. 然后生成数据(一些角魔法和其他东西),但最后看起来如下: data = {x: array_ot_dates,y: array_of_not_so_random_values,type:'bar'};
  4. 根据动画函数的jsdocs,您需要传递一个框架: 设plotlyFrame = {data:data,layout:{};
  5. 试着叫动画! Plotly.animate(gd,plotlyFrame);

卡布姆来了!

第一个错误是:这个元素不是一个Plotly : object HTMLDivElement,但是当我尝试这样做时:

代码语言:javascript
复制
Plotly.newPlot(gd, data, {});

我有我的阴谋..。

因此,我试图“预定义”gd,使用空数据调用Plotly.plot,然后调用动画函数.

代码语言:javascript
复制
Plotly.plot(gd, [], {});
// make my data not empty
Plotly.animate(gd, plotlyFrame);

然后我得到以下错误:

plotly.js:116922 Uncaught (承诺中) TypeError:无法读取未定义的属性“_module”(…)

第二个可能来自这样一个事实:我使用角度,因此在一个接近的行中,在一个点上调用函数3次。

有什么建议吗?想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-12 19:57:34

我就是那个制作动画的人!首先,您可以在这里找到文档。

关于您的具体问题,看起来答案是您需要在动画之前初始化这个情节(我将把它添加到文档中!)例如:

代码语言:javascript
复制
var frame = [{
  data: {
    y: [...new values...]
  }
}]

Plotly.plot(gd, [{x: [...], y: [...]}]).then(function() {
  Plotly.animate(gd, frame)
});

如果某种类型的用户输入触发了动画,那么这个承诺可能是不必要的(因为输入事件将处理事情,并且在Plotly.plot有机会初始化之前很难被触发)。

另外,至少我相信你需要用你想要动画的痕迹来初始化这个情节。我认为您可能可以处理空数据,但至少还需要定义一个跟踪,例如Plotly.plot(gd, [{x: [], y: []}])。我认为尝试修复的问题是,对于跟踪列表的[]仍然是空的,因为这并没有告诉它存在的跟踪类型。另外,FYI,一个功能并不是真正设计做的,就是以一种奇特的方式画出最初的情节。这可能是可以实现的,但是在一个空的地块上给出的animate并不是自动的。

我希望这足以澄清问题!这是一个相当大的功能,所以我们喜欢反馈,并听到成功/失败与它!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39415791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档