Javascript 如何最好地处理d3.js中的原始(未计算)数据?

Javascript 如何最好地处理d3.js中的原始(未计算)数据?,javascript,d3.js,Javascript,D3.js,我在d3图库中看到的所有示例都已经计算了数据,例如: 字母频率 A.08167 B.01492 C.02782 D.04253 ... 如果我有“原始”数据,例如: A. A. B A. D ... 我仍然需要计算频率,以便绘制图表。 最好的方法是什么? 我应该把数据输入d3.map还是d3.set?某种d3。嵌套和汇总?或者只是简单的JavaScript 在我非常具体的案例中,我需要绘制学生的成绩表。除了成绩本身,我还有其他数据(例如学生姓名),我还有像8.58.7这样的成绩,我需要按原样绘制

我在d3图库中看到的所有示例都已经计算了数据,例如:

字母频率 A.08167 B.01492 C.02782 D.04253 ... 如果我有“原始”数据,例如:

A. A. B A. D ... 我仍然需要计算频率,以便绘制图表。 最好的方法是什么?
我应该把数据输入d3.map还是d3.set?某种d3。嵌套和汇总?或者只是简单的JavaScript

在我非常具体的案例中,我需要绘制学生的成绩表。除了成绩本身,我还有其他数据(例如学生姓名),我还有像
8.5
8.7
这样的成绩,我需要按原样绘制图表,并在同一图表中四舍五入。

我是否需要关注效率(作为客户端的计算)?我最多可以有100000行数据,或者只有30或4行数据。

您可以使用。参见示例。

直方图布局正是我所需要的。它接收我的数据,并根据我的规范(箱子的数量、如何划分等)将其分类到箱子中。我认为这是最灵活的解决方案,然而,起初我在直方图布局方面遇到了很多小问题。我最终使用了另一种解决方案一段时间(直到我更好地理解直方图布局):
var valuesHash=d3.nest().key(函数(d){return d.grade;})并使用
x(d.key)
y(d.values.length)
letter frequency A .08167 B .01492 C .02782 D .04253 ... A A B A D ...