d.source 是什么?[文档是指自己]

我想知道 d.source 是什么以及它指的是什么来源。


在 d3 api 文档中解释了是否指定了源...


link.source([source])Source 如果指定了源,则将源访问器设置为指定的函数并返回此链接生成器。如果未指定源,则返回当前源访问器,默认为:


函数源(d){返回d.source;}


甚至没有告诉我“来源”是什么。我遇到“源代码”的代码如下。


function showLinkArrayElements(data, title) {

  d3.select('#content')

    .append('div')

    .html('<span>' + title + '</span>: ' + data.map(function(d) {return d.source.data.name + ' -> ' + d.target.data.name;}).join(', '))

}

谁能给我一个关于这段代码正在谈论的 source 和 d.source/d.target 的一般演练?


谢谢


整个代码如下。


<!DOCTYPE html>

<meta charset="utf-8">

<head>

  <title>Hierarchy examples</title>

</head>


<style>

body {

  font-family: "Helvetica Neue", Helvetica, sans-serif;

  font-size: 14px;

  color: #333;

}


div {

  margin: 20px;

}


div span {

  font-weight: bold;

}


</style>


<body>

  <div id="content"></div>


  <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.2/d3.min.js"></script>

  <script>

var data = {

  "name": "A1",

  "children": [

    {

      "name": "B1",

      "children": [

        {

          "name": "C1",

          "value": 100

        },

        {

          "name": "C2",

          "value": 300

        },

        {

          "name": "C3",

          "value": 200

        }

      ]

    },

    {

      "name": "B2",

      "value": 200

    }

  ]

};


function showArrayElements(data, title) {

  d3.select('#content')

    .append('div')

    .html('<span>' + title + '</span>: ' + data.map(function(d) {return d.data.name;}).join(', '))

}


function showLinkArrayElements(data, title) {

  d3.select('#content')

    .append('div')

    .html('<span>' + title + '</span>: ' + data.map(function(d) {return d.source.data.name + ' -> ' + d.target.data.name;}).join(', '))

}





噜噜哒
浏览 346回答 1
1回答

函数式编程

d.source 在映射数据时链接到数据变量(因此源基本上是 d3 链接对象的属性)。检查数组映射方法的参考。node.links() -> 返回此节点的链接数组,其中每个链接都是定义源和目标属性的对象。每个链接的源是父节点,目标是子节点。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript