所以我成功地创建了一个数字频率的直方图。我想对文字做同样的事情。
bins = [1,1,1,2,3,4,4,4,4,5,5,6,6,6,2,2,3,3,1,23,54,6,6,7,6,5,4]
@svg = d3
.select('.histogram')
.append('svg')
.attr('width', @model.get('width'))
.attr('height', @model.get('height'))
.append('g')
data = d3
.layout
.histogram().bins(bins.length)(bins)
bar = @svg
.selectAll('.bar')
.data(data)
.enter()
.append('g')
bar
.append('rect')
.attr('x', 0)
.attr('y', (d) -> return d.x*5)
.attr("width", (d) -> return d.y * 20)
.attr("height", 5)
.attr('fill','steel')
我想为这样的数组构建频率直方图 -
bins = ['hello','hello','goodbye','goodbye','beatles','kill','harry','harry']
我该怎么做呢?似乎使用直方图布局的价值函数是一个不错的选择,但这意味着我需要以某种方式维护状态。另外,我希望这个词在其相关栏旁边显示为标签。
谢谢