d3-brush

阅读数:93 评论数:0

跳转到新版页面

分类

html/css/js

正文

刷取交互指在一维或二维空间内使用手势,比如点击然后拖拽鼠标拾取一块区域范围的操作.刷取操作经常用来选取一些离散的元素,比如散点图中的点或者桌面上的文件等等.它也可以被用来对感兴趣的区域进行放大操作。

d3-brush模块的实现基于注册于SVG  上的鼠标和触摸操作. 点击并且拖拽选区会对选区进行位置调整。点击并且拖拽选区的 handles(把手) 会调整对应的选区的边。点击并且拖拽隐藏的 overlay 会创建一个新的选区,按住 META (⌘) 键并点击可刷取范围内的点也会达到这种效果. 按住ALT (⌥)并移动鼠标时会已鼠标刚开始按下的点为中心调整已选中区域的大小,调整已选中区域大小的过程中按住 SPACE 时会将调整大小变为调整已选中区间位置,刷取过程中按住 shift 会固定刷取的方向.

一、安装

npm install d3-brush

二、API

1、d3.brush

创建一个新的二维刷取交互

2、d3.brushX

创建一个新的一维的 x - 方向的刷取交互

3、d3.brushY

创建一个新的一维的 y - 方向的刷取交互

4、brush(group)

将刷取交互应用到指定的 group(分组元素)上, group 必须是一个 SVG,这个方法通常不直接调用,而是通过selection.call来使用。

svg.append("g")
    .attr("class", "brush")
    .call(d3.brush().on("brush", brushed));

5、brush.move(group,selection)

通过编程的方式实现对刷取范围的调整

6、brush.extent([extent])

设置或获取刷取操作的可刷取范围

7、brush.filter([filter])

如果过滤器返回假值,则忽略启动刷取的事件并且不进行刷取操作

8、brush.handleSize([size])

设置或获取调整刷取范围的把柄的大小

9、d3.brushSelection(node)

返回指定node的刷取区间

 

 




相关推荐

echarts 是百度公司前端开发一个图表库,支持柱状图、饼状图、k线图、map图、热导向图、折线图。 主要采用canvas画图。完全免费。 hi

1、安装 npm install d3 --save-dev 2、使用 在单个文件组件.vue中使用 import * as d3 fro

JavaScript 中的数据通常由一个数组来表示, 所以当可视化或分析数据时往往也会操作数组。 一、JavaScript中修改数组自身的方法 1、array.pop 移除最后一个元素并将它返回,这个

坐标轴组件可以将标尺显示为人类友好的刻度标尺参考,减轻了可视化中的视觉任务。 一、安装 npm install d3-axis 坐标轴的方向是固定的

用圆形布局形象化关系或网络流量 一、安装 npm install d3-chord