gpt4 book ai didi

backbone.js - JavaScript - Backbone.js 应用程序中的交互式图表

转载 作者:行者123 更新时间:2023-12-04 05:09:29 25 4
gpt4 key购买 nike

背景:我目前正在使用 JavaScript 和 jQuery 为 Web 应用程序开发客户端。和 Backbone.js (这些是支持者要求的)。
这是一个以图形模式(主要通过表示数据的交互式图表)可视化和编辑数据的应用程序。

术语:所述数据是多个文档的格式,每个文档包含一个项目列表。
对于这个问题,让项目由标识符、文本描述和指向其他文档中项目的链接组成。链接应该是对称的(i1 -> i2 存在当且仅当 i2 -> i1 也存在)。

当前目标:在这个阶段,应用程序应该能够读取两个文档,并排显示两个列表,然后根据它们的链接绘制线条,连接两个文档之间的项目。
这些行应该是可编辑的。换句话说,用户应该能够创建新链接,或删除现有链接(反射(reflect)项目模型上的更改)。

这些文档可能有点长,比如几十个项目(在现实场景中可能有几百个)。当然,页面将是可滚动的,以允许用户查看所有内容。

此外,为了方便用户,应该有一个 slider 来缩放 View (允许放大/缩小效果,因此为用户提供了全局和局部 View ,后者更适合编辑,前者更适合分析)。
此外,应该允许用户隐藏特定的项目(当项目有很多链接时很有用,创建视觉垃圾)。

我已经做到了:

  • 读取数据并将其映射到 Backbone 模型和集合;
  • 并排显示两个文档(主干 View ),并带有项目连接;
  • 允许在这些连接上进行交互(拖放以创建线条,单击以删除),反射(reflect) Backbone 模型的变化;
  • 隐藏特定项目;
  • 规模效应。

  • 我使用 SVG 实现了这一点,遇到后 jsPlumb .

    手头的问题:应用程序仍然需要调整(强调缩放效果)。无论如何,我发现 jsPlumb 使用起来很舒服。但是,在使用 slider 时,渲染性能似乎有些不足(可能是 slider 步长太小,从而触发了太多事件)。

    支持者建议我尝试使用桑基图来表示这种数据。他们还建议我试试 Sankey by tamc , 基于 Raphaël.js .
    当然,视觉因素也有贡献。

    我的问题:这个库是否与 Backbone 有很好的兼容性?可能,如果我使用生成的 SVG 元素作为主干 View 的元素。
    另外,两者中的任何一个都比另一个具有显着的渲染性能优势吗?

    最后一点,是否还有其他库更适合这种情况,值得花时间重写应用程序,我可能会向支持者建议?

    最佳答案

    该项目正在进行中,我最终使用了Sankey by tamc ,加上我自己的一些额外工作,以更好地适应这种特殊情况。

    enter image description here

    关于backbone.js - JavaScript - Backbone.js 应用程序中的交互式图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15053081/

    25 4 0
    文章推荐: validation - 如何在实现 ModelDriven 接口(interface)的操作中使用 struts2 中的注释来实现验证?
    文章推荐: asp.net - 我们如何在母版页中同时拥有 ToolkitScriptManager 和 ScriptManager
    文章推荐: php - 在 PHP 中使用按周列出的日期列表创建