d3fc 连续比例
一个支持不连续域的 D3 缩放, 产生空白或不连续 。 例如,这可以用来创建已去除某些范围的线性尺度,在渲染的轴上产生不连续,或者与时间尺度结合使用,以便"skip"周末.
位于不连续范围内的勾被“ clamped” 到上边界, 因此, 如果在一个不连续范围内有多个勾, 这些勾将重叠 。 在这种情况下,建议: scale.ticks 属性用于指定给定使用大小写最有意义的勾选.
安装
npm install @d3fc/d3fc-discontinuous-scale
API 参考
相不相干的比例尺可适应D3的比例尺,由相关的不相干性提供商提供与比例尺中任何"差分"有关的信息. 以下示例显示一个经过调整的线性尺度, 其不连续性可以去除域范围 [50, 75]数字 :
import { scaleDiscontinuous, discontinuityRange } from 'd3fc-discontinuous-scale';
import { scaleLinear, axisBottom } from 'd3-scale';
var scale = scaleDiscontinuous(scaleLinear())
.discontinuityProvider(discontinuityRange([50, 75]))
.domain([0, 100])
.range([0, 550]);
var axis = axisBottom()
.scale(scale);
具体如下:
有各种不同的不连续提供者,可以用在不连续的尺度上。 也可以自己写.
不连续
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.不连续(单位:千美元)缩放(中文(简体) )
构造一个新的不连续的缩放,调整给定的缩放。 如果有的话 缩放 未指定,则使用 D3 身份缩放.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 不连续(单位:千美元)价值(中文(简体) ) {\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 不连续。 。 。 .倒转(单位:千美元)价值(中文(简体) )
基本比额表方法,以及 倒转 方法被调整去除不连续。 例如,一个正则的 D3 线性比例实现如下:
const linear = scaleLinear()
.domain([10, 110])
.range([0, 960]);
linear(20); // 96
linear(50); // 384
而不连续的缩放( 调整线性) , 并且不连续的去除域范围 [50, 80],给出不同的输出 :
const discontinuous = scaleDiscontinuous(scaleLinear())
.discontinuityProvider(discontinuityRange([50, 70]))
.domain([10, 110])
.range([0, 960]);
discontinuous(20); // 120
discontinuous(50); // 480
通过下列方式观察到同样的行为: 倒转 临τ.
所有经过调整的比额表方法都因不连续的比额表而重新曝光。 不连续的缩放 API 文档详细说明了缩放行为与被调整的缩放不同之处. 对于所有其他方法,你可以假设它们的行为没有变化.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 不连续。 。 。 .域名([提供者)
调整基础尺度 域名 方法,夹住上下域界限,以确保它们不处于不连续状态.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 不连续。 。 。 .不错(a) 与《公约》有关的其他事项
调整基础尺度 不错 方法,夹住所产生的域,以确保上下界限不处于不连续状态.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 不连续。 。 。 .键([计数)
调整基础尺度 键 方法,删除任何属于不连续的勾选.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 不连续。 。 。 .连续性 提供者(单位:千美元)提供者(中文(简体) )
若为 提供者 中,设置比例尺的不连续提供者。 断续续提供商暴露了用于在域内产生漏洞的API. 此软件包包含一些不同类型的不连续性提供者,但您也可以创建自己的软件包.
不连续性
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.不连续性(a) 与《公约》有关的其他事项
身份不连续提供者没有定义任何不连续,因此,当与不连续尺度相关联时,该尺度的运行方式将与调整后的规模完全相同.
断续距离
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.断续距离(单位:千美元)范围(中文(简体) )
此不连续提供者定义一个或多个域 范围 应排除在比额表之外。 这些范围作为Tuple提供,例如, discontinuityRange([0, 10], [20, 30])。支持数字和日期范围,例如创建一个跳过一天的区域,可以做到以下几点:
const start = new Date(2015, 0, 9);
const end = new Date(2015, 0, 10);
const range = discontinuityRange([start, end]);
连续性 跳过 Weekends
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.连续性 跳过 Weekends(a) 与《公约》有关的其他事项 {\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 页:1.断断续续(a) 与《公约》有关的其他事项
这种不连续提供商的用法具有时间尺度。 这个提供者将从域名中删除所有周末,这个功能对财务时间序列图表特别有用.
停用提供者接口
您可以通过提供显示以下方法的对象来创建自己的不连续性提供者:
clampUp- 当给出一个值时,如果它属于不连续(即被排除在外的域范围)范围,就应当向不连续边界转移。 否则,应一律退还.clampDown- 给定一个值时,如果它属于不连续,就应倒向不连续边界。 否则,应一律退还.distance- 当给定一对值时,此函数返回域单位之间的距离,减去任何不连续. 断断续续.offset- 当给出一个值和抵消时,该值应当由抵消值推进,避免任何中断,以返回最终值.copy- 创建不连续提供者的副本.