D3.js 商店用户';对d3js图中数据点的注释

D3.js 商店用户';对d3js图中数据点的注释,d3.js,user-feedback,collective-intelligence,D3.js,User Feedback,Collective Intelligence,我们需要找到或从头开始构建一个工具,收集用户对他们查看的图表的反馈。科学家评论一些获得的分布就是一个典型的例子。一般来说,这应该是d3js 我想,这个想法并不新鲜,几年前我甚至看到了一个原型。有人能指出可能的现有解决方案或可能有用的框架吗 最简单的用例-Bob看到d3js散点图并观察左上角的奇怪异常值A。他点击它并写了一条评论——“所有的条件都正常吗?”。当John进入系统并点击A时,他可以阅读评论并回复smth,就像“那只是我的猫跑过键盘” 这种逻辑可以有很多扩展,因此最好使用现有的工具。如果

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

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

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


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

如果必须在某一点上进行注释,您可以考虑在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=
。这并不简单,但我建议使用存储这种无模式数据。看:


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

这是一个概念-
这里是prototype-

这是一项相当大的任务,涉及服务器和客户端功能以及一路上的大量决策。我有点怀疑是否有一种工具能完全满足你的需要。这是一个显然不了解图表语义的问题,所以它对于您描述的内容来说是一个非常有限的解决方案。我认为任何定制的东西都至少需要扩展现有的库(比如,)。@meetamit感谢分享这些链接。是的,我很清楚,这是一项艰巨的任务,只是希望有人已经实施了它。