存储用户'对d3js图中的数据点的注释

时间:2014-05-01 21:49:57

标签: d3.js user-feedback collective-intelligence

我们需要从头开始查找或构建一个工具,它将收集用户对他们所看到的图表的反馈。科学家评论一些获得的分布是一个典型的例子。一般来说,这应该是d3js

的某种集体讨论层

我想,这个想法并不新鲜,几年前我甚至看到了一种原型。任何人都可以指出可能有用的现有解决方案或框架吗?

最简单的用例 - Bob看到d3js散点图并观察左上角的异常异常值A.他点击它并写下评论 - “这个观察的所有条件都正常吗?”。当John进入系统并点击A时,他可以阅读评论并回复像'那只是我的猫跑过键盘'。

此逻辑可以有很多扩展,因此最好使用现有工具。

2 个答案:

答案 0 :(得分:3)

如果必须在某个点上完成评论,您可以考虑在json中组织数据,例如

{
  "x":10, 
  "y":20, 
  "comments":[
               {
               "name":"Bob", 
               "content":"Was all conditions normal for this observation?",
               "replies":[
                           {
                            "name":"John",
                            "content":"That's just my cat who ran over keyboard",
                            "replies":null
                            }
                         ]
               },
               {
               "name":"indy", 
               "content":"ok for me",
               "replies":null
               }
             ]
}

这样"comments"部分就可以通过单击点(让我们说一个圆圈)填充,就像

一样
d3.selectAll("circle") // data are already bind here providing the d.x and d.y values
  .on("click",funtion(d){
      d3.select("#node_where_I_want_the_comment_form")
        .append("form") //... the user sets name and content
})

然后使用名称和内容设置d.comment=。这并不简单,但我建议使用https://www.mongodb.org/来存储这种无模式数据。看:

http://docs.mongodb.org/ecosystem/use-cases/storing-comments/

答案 1 :(得分:2)

对于那些感兴趣的人,我终于找到了我一直在寻找的东西 -

这是概念 - http://courses.cs.washington.edu/courses/cse512/14wi/lectures/CSE512-Collaboration.pdf 这是原型 - sense.us