D3.js 这张图表在d3选择中指的是什么?
我一直在到处闲逛。在这两种情况下,当前比例都是使用如下方式检索的D3.js 这张图表在d3选择中指的是什么?,d3.js,D3.js,我一直在到处闲逛。在这两种情况下,当前比例都是使用如下方式检索的 var x0 = this.__chart__ || d3.scale.linear() .domain([0, Infinity]) .range(x1.range()); …其中,x1是当前比例对象。我意识到这个习惯用法是用来更新方框图或子弹图的,但是有人能解释一下怎么做吗?这张图表是指什么?缩放对象?为什么是有条件的?(|)当当前刻度不太可能有这么大的范围时,x0的域为什么覆盖0到无穷大的范围 如果我的问题没有明确
var x0 = this.__chart__ || d3.scale.linear()
.domain([0, Infinity])
.range(x1.range());
…其中,x1
是当前比例对象。我意识到这个习惯用法是用来更新方框图或子弹图的,但是有人能解释一下怎么做吗?这张图表是指什么?缩放对象?为什么是有条件的?(|
)当当前刻度不太可能有这么大的范围时,x0
的域为什么覆盖0到无穷大的范围
如果我的问题没有明确说明,我表示歉意。任何帮助都将不胜感激。此
上下文是包含图表的DOM元素:即g
元素。将一些变量绑定到DOM元素,例如this.myvar=state
,提供了一种处理特定于图表的状态的方法。对一个特定的chart g元素的多个更新调用都将访问同一个变量
Mike和Jason在各种图表中以及在中使用了属性名\uuuuu chart\uuuuu
,以跟踪图表特定的状态
在本例中,存储在g元素的\uuuu chart\uuu
属性中的比例是正确的。见bullet.js节选:
// Compute the new x-scale.
var x1 = d3.scale.linear()
.domain([0, Math.max(rangez[0], markerz[0], measurez[0])])
.range(reverse ? [width, 0] : [0, width]);
// Retrieve the old x-scale, if this is an update.
var x0 = this.__chart__ || d3.scale.linear()
.domain([0, Infinity])
.range(x1.range());
// Stash the new scale.
this.__chart__ = x1;
因此,基于当前数据确定刻度x1
。它将存储在\uuuuu图表\uuuuuu
中,以便将来使用新数据更新此图表时使用
上一个刻度取自此图,并保存在x0
中。当图表刚刚构建(即进入阶段)时,this.\uuuuu图表将返回undefined
。在这种情况下,x0
将变成d3.scale.linear().domain([0,无穷大]).range(x1.range())
。看
为了平稳过渡,需要使用旧的刻度。当输入新的数据点时,我们首先希望使用旧的比例在图表上绘制它们。之后,我们将根据新的比例转换所有点(新的和更新的)
关于[0,无穷大]域。因此,只有在图表刚刚构建时,才会使用具有此域的比例。这意味着它提供了一种在引入图表时设置初始转换的方法。具有有限范围的无限域意味着所有点都缩放为0。因此,在设置图表时,所有点都将以0绘制,并根据x1比例转换为正确的值。此
上下文是包含图表的DOM元素:即ag
元素。将一些变量绑定到DOM元素,例如this.myvar=state,提供了一种处理特定于图表的状态的方法。对一个特定的chart g元素的多个更新调用都将访问同一个变量
Mike和Jason在各种图表中以及在中使用了属性名\uuuuu chart\uuuuu
,以跟踪图表特定的状态
在本例中,存储在g元素的\uuuu chart\uuu
属性中的比例是正确的。见bullet.js节选:
// Compute the new x-scale.
var x1 = d3.scale.linear()
.domain([0, Math.max(rangez[0], markerz[0], measurez[0])])
.range(reverse ? [width, 0] : [0, width]);
// Retrieve the old x-scale, if this is an update.
var x0 = this.__chart__ || d3.scale.linear()
.domain([0, Infinity])
.range(x1.range());
// Stash the new scale.
this.__chart__ = x1;
因此,基于当前数据确定刻度x1
。它将存储在\uuuuu图表\uuuuuu
中,以便将来使用新数据更新此图表时使用
上一个刻度取自此图,并保存在x0
中。当图表刚刚构建(即进入阶段)时,this.\uuuuu图表将返回undefined
。在这种情况下,x0
将变成d3.scale.linear().domain([0,无穷大]).range(x1.range())
。看
为了平稳过渡,需要使用旧的刻度。当输入新的数据点时,我们首先希望使用旧的比例在图表上绘制它们。之后,我们将根据新的比例转换所有点(新的和更新的)
关于[0,无穷大]域。因此,只有在图表刚刚构建时,才会使用具有此域的比例。这意味着它提供了一种在引入图表时设置初始转换的方法。具有有限范围的无限域意味着所有点都缩放为0。因此,设置图表时,所有点都将标为0,并根据x1比例转换为正确的值。!谢谢你的清楚解释。非常感谢,太棒了!谢谢你的清楚解释。非常感谢。