构造d3关系图前后台实现

今天用d3画了一个血缘关系图,是对配置的各种任务的上下级依赖关系的展示。在返回值时候定义了contenttype但是还是返回了html,看了半天,原来是忘记了加@responsebody注解导致的
js:
$.ajax({
            headers:{"csrf":"${csrf}"},
            type:"POST",
            url:"${contextPath}/job/chart?",
            data:{
                "jobid":id,
            },
            success:function(data) {
            console.log(data.data);
    //data : data.data.getResult.processClass,
    //links : data.data.getResult.processLink,
    var process = data.data.getResult.processClass;
    var link = data.data.getResult.processLink;
    var g = new dagreD3.graphlib.Graph()
    .setGraph({
     //此处是设置流程图位置的,LR水平,UD上下
     rankdir: "LR"
    })
    .setDefaultEdgeLabel(function() { return {}; });
    process.forEach(function(n){
        g.setNode(n.jobId,{label: n.jobName});
      });
    
     link.forEach(function(n){
        g.setEdge(n.source,n.target);
      });
    
     g.nodes().forEach(function(v) {
       var node = g.node(v);
       // Round the corners of the nodes
       node.rx = node.ry = 5;
     });
     // Create the renderer
     var render
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
d3关系是一种数据可视化的表,可以用来展示数据之间的关联和连接。在d3的关系中,节点代表着数据的一个实体,可以是一个人、一个物品或者一个地点等等。而每个节点都有一个对应的片来表示该实体。 要在d3关系中将节点的片进行更改,首先需要准备好代表各个节点实体的片资源。可以选择符合需求和主题的标或者照片作为节点片,比如人像、物品的标、地点的照片等等。 然后,通过d3的节点设置方法,将节点的片链接或者路径指定为新的片资源。可以使用d3中的"image"或者"pattern"属性来设置节点的片样式。在属性中,可以将片源设置为节点数据中的一个属性,或者直接指定一个固定的片链接。 举个例子,假设我们有一个节点数据的数组,每个节点都有一个属性"image",代表着该节点对应的片链接。那么可以使用如下的代码将节点的片更改为新的片资源: d3.selectAll(".node") // 选择所有的节点元素 .attr("image", function(d) { return d.image; }); // 将节点的片属性设置为节点数据中的"image"属性值 以上代码使用了d3的选择器selectAll来选择所有的节点元素。然后,通过设置节点的"image"属性,将节点的片链接更改为节点数据中指定的片链接。 需要注意的是,片资源的尺寸和比例要与节点的大小和布局相匹配,以保证表的美观和准确性。另外,在d3之外可能还需要考虑片资源的加载和缓存等问题。 综上所述,通过更改d3关系中节点的片,可以将节点以更直观和个性化的方式展示出来,以增强数据可视化的效果和吸引力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值