根据已经给定的频率创建一个d3.js直方图
Create a d3.js histogram based on already given frequencies
我已经实现了d3.js直方图,类似于这个例子。这工作得很好,但由于某些用例中值的数量,我想对数据进行预处理,并将必要的频率传递给d3.layout.histogram().
代替[13, 5, 88, 4]
的值,我会有以下内容:
{ "0-5" : 2,
"5-10" : 0,
"10-15" : 1,
...
}
我想这可以省去我给的电话
var data = d3.layout.histogram()
.bins(x.ticks(20))
(values);
但我不知道如何正确地整合这一点。我仍然需要d3.layout函数来计算垃圾箱的宽度。仓的数量将通过给定频率中的属性的数量来给出。有什么提示吗?
这个答案假设您想要动态地传递bin;但仍然允许layout.histogram
进行频率计算
您可以将数组传递给histogram.bins
方法。像这样:
// Generate a histogram using twenty uniformly-spaced bins.
var values= [13,5,88,4];
var data = d3.layout.histogram()
.bins(d3.range(0,100,6))
(values);
您甚至可以通过查找values
数组的min
和max
来参数化对d3.range()
的调用。这将节省创建关联数组以查找频率的时间
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 使用D3.js和GeoJson在地图上的某些坐标上设置一个小图像
- d3.csv有很多数据,只画了一个月
- D3.js:将一个有响应的饼图放在其父分区的中心
- 在多行图表中,在每一行的末尾,我想要一个小圆圈和使用d3.js的端点值
- D3.js如何只创建一个绑定到多个数据项的数据集的元素
- 如何使用d3.layout.cloud.js创建一个包含单词及其权重的csv的单词云
- 为什么我会得到一个“;未捕获类型错误”;当我介绍D3.transition()时
- 如何用D3添加一个简单的圆弧
- 当鼠标也在触摸另一个元素时,d3.js鼠标悬停事件未被触发
- d3日历视图:如何将所有内容放在一个svg中,而不是放在几个svg中
- 如何使用 d3 过渡使圆形一个接一个地出现
- 在 D3 中追加堆积条形图和另一个条形图
- 如何在D3中添加一个强制拖动事件,并使节点停留在我离开它的地方
- 根据已经给定的频率创建一个d3.js直方图
- D3-使用一个SVG点击事件来影响另一个
- 是什么导致一个D3.js图表和同一页上的另一个发生冲突
- 我可以把一个d3布局放在另一个上面吗
- 如何计算一个D3对角线路径的中心
- D3工具提示,也是一个D3 viz