直方图布局

Howard Liang edited this page Apr 1, 2016 · 2 revisions

WikiAPI--中文手册布局直方图布局

**直方图布局(histogram layout)**可以用来表示数据分布,通过将离散数据点分组归纳到箱子里。使用实例详见 bl.ock 3048450

# d3.layout.histogram()

使用默认值访问器、范围函数和箱函数,构建新的直方图函数。默认条件下,直方图函数返回值为频率。返回布局对象既是一个对象,也是一个函数。即: 可以像调用其他函数一样调用该布局,并且布局有额外的方法改变自身行为。和D3中的其他类一样,布局遵循方法链模式,在该模式下setter方法返回布局本身,允许使用简单语句调用多个setter。

# histogram(values[, index])

在指定的values数组上计算直方图。可以指定一个可选参数index, 传递给范围函数和箱函数。返回值为数组的数组:外部数组的每个元素表示一个容器,每个容器包含输入values的相关元素。此外,每个容器有三个属性:

  • x -箱的下界(包含)。
  • dx -箱的宽度;x + dx为上界(不包含)。
  • y - 计数(如果frequencytrue),或概率(如果frequency为false)。

请注意,在频率方式上,y属性和长度属性相同。

# histogram.value([accessor])

指定从关联数据中提取值的方法;accessor是一个函数,每当输入值传递到histogram时,都需要调用该函数,即等于在计算直方图之前调用values.map(accessor)。默认值函数为内置Number,与恒等函数类似。如果未指定accessor,则返回当前值访问器。

# histogram.range([range])

指定直方图范围。忽略在指定范围之外的值。可以通过二元数组指定range,数组表示范围的最大值和最小值;或者将range指定为一个函数,该函数返回values数组和传递到histogram的当前索引。默认范围为值的长度(minimummaximum)。如果未指定range,则返回当前范围函数。

# histogram.bins()
# histogram.bins(count)
# histogram.bins(thresholds)
# histogram.bins(function)

详细说明如何将值归类到直方图中。如果没有指定参数,则返回当前箱函数,默认值为Sturges' formula的一个实现,Sturges' formula使用等间隔的值将值划分到不同的箱当中。如果已经指定count值,则将 range的值均匀分布到指定数量的箱中。

如果已指定thresholds数组,则它定义了箱的极限值,从最左边的值(最小值)开始到最右边的值(最大值)。n + 1 thresholds指定了n个箱。任何小于thresholds[1]的值都将被放在第一个箱中;同理,任何大于或等于thresholds[thresholds.length - 2]的值将被放在最后一个箱中。因此,虽然第一个和最后一个极值并未分配到箱中,但他们对于定义第一个箱的x属性和最后一个箱的dx属性还是有必要存在的。

最后,如果已经指定箱function,该函数会在布局传递数据时调用,传递当前range,值得数列和当前索引传递到histogram。该函数必须返回上文所述的thresholds数列。

# histogram.frequency([frequency])

<此段需更新> 指定直方图的y值是否是一个计数(频率)或概率(密度);默认值为频率。如果没有指定频数,则返回当前频率的布尔值。 <此段需更新>

此段现为

Specifies the meaning of the generated bins’ *y*-values. If *frequency* is true, which is the default, the *y*-value represents the count of elements in the bin. If false, it represents the probability of a random element in the sample population being in that bin. Note that this is a *probability*, not a *probability density*, and so for [irregular histograms](http://bl.ocks.org/mbostock/1624660), you must normalize the *y*-value by the bin width (`bin.y / bin.dx`) for the area of the displayed bar to be proportional to the probability. If *frequency* is not specified, returns the current frequency boolean.

  • 张烁译 20140430
  • 咕噜校对 2014-11-30 10:42:08
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.