-1

我正在学习js,并决定今天解决D3。

我正在尝试扩展此示例。我想在每个节点上映射一个图像,并附加文本。我发现这篇 StackOverflow 帖子对入门有很大帮助。我已经在上面的第一个示例中处理了它的细节并提出了这个。看起来我尝试将文本和图像附加到“g”,然后将 g 附加到控制图形的力可能会出现问题。

任何见解都会非常有帮助。谢谢!

4

1 回答 1

0

Bl.ock的主要问题是您没有调用您的 html 文件index.html- Bl.ocks 不够聪明,无法识别其他名称。我注意到的另一件事是您在本地引用 d3,使用 Bl.ocks 除非您上传 d3,否则这将不起作用,当您可以指向时,这将毫无意义:

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

您还需要将其放在标题标签之间。我已经分叉了你的 Bl.ock 并在这里做了这些小改动,它工作得很好。

当然,这些东西不会帮助您附加图像。您可以像在这个问题中一样将图像作为背景放置到您的圈子中,或者您可以只添加图像而不是尝试将其附加到一个圈子。我无法确切地看到您的代码中发生了什么,但一般模式将类似于:

d3.selectAll(".node")
    .data(nodes).enter()
    .append("image")
    .attr("xlink:href", "url")
    .attr("x", x stuff)
    .attr("y", y stuff)
    .attr("height", "16px")
    .attr("width", "16px")

我看不到您将数据(节点)绑定到重要的图像。

于 2013-10-08T20:03:36.720 回答