javascript - D3 获取变量值

标签 javascript d3.js visualization

这是一个非常基本的问题,但是如何访问 d3 中的属性值? 我今天刚开始学习,还没搞明白

假设我将此作为我的代码的一部分 http://jsfiddle.net/matthewpiatetsky/nCNyE/9/

   var node = svg.selectAll("circle.node")
       .data(nodes)
       .enter().append("circle")
       .attr("class", "node")
       .attr("r", function (d) {
        if (width < height){
        return d.count * width/100;
        } else {
        return d.count * height/100;
        }
})
     .on("mouseover", animateFirstStep)
     .on("mouseout",animateSecondStep)
       .style("fill", function(d,i){return color(i);})
       .call(force.drag);

对于我的动画,当您将鼠标悬停在圆圈上时,圆圈会变大,并且我希望当您将鼠标移开时,圆圈会恢复到正常大小。但是,我不确定如何获取半径值。

我在这里设置了值

.attr("r", function (d) {
        if (width < height){
        return d.count * width/100;
        } else {
        return d.count * height/100;
        }

我尝试做node.r之类的事情,但我不确定正确的语法是什么 谢谢!

最佳答案

您可以通过以下方式访问选择的属性:

var node = svg.selectAll("circle.node")
  .data(nodes)
  .enter().append("circle")
  .attr("class", "node")
  .attr("r", function (d) { return rScale(d.count); })
  .on("mouseover", function(d) { 
    d3.select(this)
      .transition()
      .duration(1000)
      .attr('r', 1.8 * rScale(d.count));
    })
  .on("mouseout", function(d) { 
    d3.select(this)
      .transition()
      .duration(1000)
      .attr('r', rScale(d.count));
  })
  .style("fill", function (d, i) {
    return color(i);
  })
 .call(force.drag);

在此上下文中,this 指向与 d 绑定(bind)的 DOM 元素。通常,圆的面积必须与您显示的数量成正比,请查看 Quantitative Scale 的文档s。你的 fiddle fork 是 here .

关于javascript - D3 获取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17177692/

相关文章:

javascript - 使用YouTube Embed API更新带有视频标题的HTML文本

javascript - ExtJS 面板布局 : how to correctly layout Panels

javascript - d3 : Color Range with an array with more than 2 colors

javascript - D3.js defs 和 url() 不起作用

wolfram-mathematica - 使用 BarChart[ ] 工具提示说明数据的来源

javascript - 如何在Ubuntu上安装meteor?

javascript - 在 JavaScript/jQuery 中,是否有一种更短的方法可以在同一测试变量上编写带有多个 OR 的 'if' 语句?

node.js - 如何在 express 框架中使用 d3.js 代码

svg - d3.js 中堆积圆的散点图?

visualization - 来自gensim的pyLDAvis可视化未在google colab中显示结果