d3.js常用方法

3 篇文章 0 订阅
1 篇文章 0 订阅

d3.js常用方法

1、选择单个元素

d3.select(selector)

类似于js中的document.querySelector()方法,都是用于获取DOM元素;其中selector可以是标签名称、类名、id名;例如:获取body元素

d3.select(body)

2、选择所有元素

d3.selectAll(selector)

类似于js中的document.querySelectorAll()方法,都是用于获取DOM元素;其中selector可以是标签名称、类名、id名;例如:获取所有的p标签元素

d3.selectAll(p)

以下所有的selection均表示利用d3.js选择器选中的元素或者新创建的元素

3、添加属性

selection.attr(name[, value])

一个参数为属性名,第二个参数为属性值,例如:新增一个<a>标签,并设置连接地址和跳转方式:

selection.append("a")
  .attr("xlink:href", "https://www.baidu.com")
  .attr("target", "new")

4、添加css类

selection.classed(name[, value])

第一个参数为类名,可以是单个也可以是多个,例如:"foo""foo bar";第二个参数表示是否为选中的元素添加类,可以直接是布尔值、也可以是返回布尔值的函数,例如:true() => Math.random() > 0.5

5、添加事件

selection.on(name[, listener [, options]])

第一个参数表示要添加的事件名,第二个参数是事件对应的回调,对于第三个参数,最常用的就是用于表示是在事件捕获节点还是冒泡阶段执行回调函数,它与addEventListener方法相似;例如:给类名为foo的标签添加一个点击事件:

d3.select('.foo')
  .on('click', handleClick)

function handleClick(e){
 // TODO
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
d3.js是一个用于数据可视化的JavaScript库,它提供了丰富的功能和工具来创建交互式和动态的数据可视化图表。其中,svg的path标签在d3.js中被称为"可以组成任何形状的形状"。d3.js提供了多种path生成器,可以用来创建不同类型的路径。 以下是一些常用d3.js svg path生成器: 1. d3.svg.line() - 线path生成器 2. d3.svg.line.radial() - 径向path生成器 3. d3.svg.area() - 区域path生成器 4. d3.svg.area.radial() - 径向区域path生成器 5. d3.svg.arc() - 圆与圆弧path生成器 6. d3.svg.symbol() - 符号path生成器 7. d3.svg.chord() - chord path生成器 8. d3.svg.diagonal() - diagonal path生成器 9. d3.svg.diagonal.radial() - diagonal radial path生成器 这些生成器可以通过调用相应的方法来生成路径,并且还可以使用其他方法来改变其属性。此外,这些生成器还支持链式调用,可以方便地进行多个操作。 范例: ```javascript // 创建一个svg元素 var svg = d3.select("body") .append("svg") .attr("width", 500) .attr("height", 500); // 创建一个线path生成器 var lineGenerator = d3.svg.line(); // 创建一个路径并设置其属性 var path = svg.append("path") .attr("d", lineGenerator([[0, 0], [100, 100], [200, 50]])) .attr("stroke", "black") .attr("fill", "none"); // 创建一个圆与圆弧path生成器 var arcGenerator = d3.svg.arc() .innerRadius(50) .outerRadius(100) .startAngle(0) .endAngle(Math.PI); // 创建一个路径并设置其属性 var path = svg.append("path") .attr("d", arcGenerator()) .attr("transform", "translate(250, 250)") .attr("fill", "red"); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值