我迁移平行坐标源代码这里到最新版本d3js(d3js 4.5.0).我坚持这一行:
var x = d3.scale.ordinal().rangePoints([0, width], 1)
Run Code Online (Sandbox Code Playgroud)
似乎在d3js v4中该rangePoints函数不再存在.我可以改为d3.scaleOrdinal(),但它只有range函数,而不是rangePoints函数.有什么线索吗?
Ger*_*ado 25
在D3 V4,创建了两个新的尺度:scaleBand和scalePoint,现在有一些的,该功能scale.ordinal必须在3个版本(其中包括rangePoints).
它记录在changelog中:
类似地,ordinal.rangePoints和ordinal.rangeRoundPoints方法已被替换为序数比例的新子类:点比例.3.x中的以下代码:
Run Code Online (Sandbox Code Playgroud)var x = d3.scale.ordinal() .domain(["a", "b", "c"]) .rangePoints([0, width]);相当于4.0中的这个:
Run Code Online (Sandbox Code Playgroud)var x = d3.scalePoint() .domain(["a", "b", "c"]) .range([0, width]);
因此,这里需要的比例是scalePoint:
点标度是频带标度的变体,带宽固定为零.点标度通常用于具有序数或分类维度的散点图.
因此,将您的比例更改为:
var x = scalePoint()
.range([0, width])
.padding(.1);
Run Code Online (Sandbox Code Playgroud)
注意padding:在点刻度中,range只接受范围数组,而不是padding.
| 归档时间: |
|
| 查看次数: |
8520 次 |
| 最近记录: |