d3fc-样本
一个D3组件,用于使用各种方法进行下采样数据. 数据一般被分入大小相同的桶中,从每个桶中选择一个数据点. 这里使用的算法是: 大三角 1 (或 3) Bucket, 或 论文所详述的Mode-Median 用于视觉表现的倒采样时间序列。 。 。 .
现场演示请看 GitHub 页面网站。 。 。 .
安装
npm install @d3fc/d3fc-sample
API 参考
采样部分为下取样数据提供了API. 它们通常被用于在有大量数据时改进图表或地图的渲染性能. 数据被传递到组件,然后返回一个更小的下取样阵列.
import {largestTriangleThreeBucket} from 'd3fc-sample';
// Create the sampler
const sampler = largestTriangleThreeBucket();
// Configure the x / y value accessors
sampler.x(d => d.x)
.y(d => d.y);
// Configure the size of the buckets used to downsample the data.
sampler.bucketSize(10);
// Run the sampler
const sampledData = sampler(data);
模式介质
模式-中间采样器相当基本。 它分割数据,然后从该集中选择一个具有代表性的数据:模式 -- -- 如果存在 -- -- 或者中位数.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.模式(a) 与《公约》有关的其他事项
构造一个新的采样器.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 模式(单位:千美元)数据(中文(简体) )
运行采样器。 它返回被下取样的数据(它不修改 data 数组本身)。 下标者选择模式(如果存在),或中值.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 模式。 。 。 .价值(单位:千美元)访问器Func(中文(简体) )
指定用于从所提供的数据数组获取值的存取器函数。 访问器函数每个数据引用一次,应该返回被下取样的值.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 模式。 。 。 .桶大小(单位:千美元)大小(中文(简体) )
说明每桶的数据点数。 第一个和最后一个数据点总是他们自己的桶. 倒数第二桶是大小的 (data.length - 2) % size。 。 。 .
最大的三角一桶
最大的三角形是一个采样器,根据两个预先确定的分数,形成最大三角形的桶中分数有最大的有效面积,而桶中最重要的也是. 最大的三角算法是两道花 -- -- 一桶和三桶。 这些算法在论文中有详细描述 用于视觉表现的倒采样时间序列,其描述摘要转录如下:
这个算法非常简单. 首先,所有积分都通过计算其有效区域来排序。 无效有效区域的点除外。 数据点再被分成大约等量的桶与指定的下采样阈值. 最后,在被下采样的数据中,选择一个级别最高(最大有效区域)的点来代表每个桶.
一个点的有效区域是它与其相邻的两个点所形成的三角形的区域大小.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.最大三角一键(a) 与《公约》有关的其他事项
构造一个新的采样器.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}最大三角形(单位:千美元)数据(中文(简体) )
运行采样器,返回被下取样的数据(它不修改 data 数组本身)。 采样者在桶中选择其他两个点之间面积最大的点(由算法确定).
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 最大三角形。 。 。 .页:1(单位:千美元)访问器Func(中文(简体) )
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 最大三角形。 。 。 .尔(单位:千美元)访问器Func(中文(简体) )
指定用于从所提供的数据数组中获取x和y值的存取器函数。 访问器函数每个数据引用一次,应该返回被下取样的值.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 最大三角形。 。 。 .桶大小(单位:千美元)大小(中文(简体) )
说明每桶的数据点数。 第一个和最后一个数据点总是他们自己的桶. 倒数第二桶是大小的 (data.length - 2) % size。 。 。 .
大三角三块
算法类似于 上文,但每次用三桶,然后从左到右进行。 构成三角形左角的第一个点(有效区域)总是固定在以前选定的点上,现在应该选择中间桶上的一个点.
最后一桶中形成三角形的点是一个临时点,即该桶内所有其他点的平均值.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.最大三角三键(a) 与《公约》有关的其他事项
构造一个新的采样器.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 最大三角形(单位:千美元)数据(中文(简体) )
运行采样器,返回被下取样的数据(它不修改 data 数组本身)。 采样者在桶中选择其他两个点之间面积最大的点(由算法确定).
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 最大三角形。 。 。 .页:1(单位:千美元)访问器Func(中文(简体) )
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 最大三角形。 。 。 .尔(单位:千美元)访问器Func(中文(简体) )
指定用于从所提供的数据数组中获取x和y值的存取器函数。 访问器函数每个数据引用一次,应该返回被下取样的值.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 最大三角形。 。 。 .桶大小(单位:千美元)大小(中文(简体) )
说明每桶的数据点数。 第一个和最后一个数据点总是他们自己的桶. 倒数第二桶是大小的 (data.length - 2) % size。 。 。 .
弹夹
d3fc-sample也带有一个数据桶工具,被算法所使用. 它将数据分割为大小均匀的块.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.桶头(a) 与《公约》有关的其他事项
构造一个数据桶工具实例 .
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 桶头(单位:千美元)数据(中文(简体) )
将数据分割成大小均匀的桶,形式如下:
// where n is the bucket size
[
[data[0], data[1], ..., data[n - 1]],
[data[n], data[n + 1], ..., data[2n - 1]],
...
[..., data[data.length - 1]]
]
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 桶头。 。 。 .桶大小(单位:千美元)大小(中文(简体) )
说明每桶的数据点数。 最后的一桶是大小的 data.length % size。 。 。 .