是否可以允许用户在视觉上改变图形?

时间:2014-04-06 09:08:25

标签: d3.js jsnetworkx

我创建了一个简单的图形(它会变得更复杂,但是出于这个例子的目的,它会这样做):

function createGraph(){
  var graph = jsnx.Graph();
  graph.add_nodes_from([
[1,{color:'red'}],
[2,{color:'green'}],
[3,{color:'blue'}]
  ]);

  graph.add_edges_from([[1,2],[1,3]]);

  jsnx.draw(graph,{
element: '#my-canvas',
with_labels: true,
node_style:{
  fill: function(d){
      return d.data.color;
    }

}
   }); 
 }

此代码成功绘制图形。现在,我希望用户能够使用鼠标选择边缘,并且当选择此边缘时,通过按下" canc"键应该删除边缘。

此外,如果用户点击某个节点然后拖动另一个节点,他应该能够创建一个边缘。

简而言之:d3.js只是用于可视化还是允许在视觉上改变图形?

1 个答案:

答案 0 :(得分:0)

原则上,您可以使用D3执行此操作(例如,请参阅here)。但是,您必须实现允许用户自己更改图形的功能。也就是说,D3并不能提供开箱即用的功能。