d3js:data/column 需要带下拉列表的时间序列图表

d3js: data/column required for time series chart with dropdown list

我想构建以下时间序列图表

具有以下 下拉列表
1. 体积类别 (<50, <100 ...)
2. 时间范围 (01/01/2016, ...)
3.行业(娱乐、金融……)
4. 国家
5. 城市
6. 公司

我参考了 Mike Bostock 的多系列折线图 (https://bl.ocks.org/mbostock/3884955)。

data/column使用过:日期,纽约,旧金山,奥斯汀

我需要哪些具体栏目?
1. 公司
2. 行业
3. 国家
4. 城市
5. 时间范围 = x 轴
6. Volume = count(distinct companies) 通过 group by
7. Volume category = if-condition for Volume

导出MySQL数据没有得到体积,至于为什么不行,参考下面:

[
 {
  "company_name": "Axxxx",
  "industry": "entertainment",
  "country": "USA",
  "city": "SF",
  "date": "2016-01-01"},
 {
  "company_name": "Axxxx",
  "industry": "entertainment",
  "country": "USA",
  "city": "SF",
  "date": "2016-01-01"},
 {
  "company_name": "Axxxx",
  "industry": "entertainment",
  "country": "USA",
  "city": "SF",
  "date": "2016-01-02"},
 {
  "company_name": "Bxxxx",
  "industry": "entertainment",
  "country": "USA",
  "city": "SF",
  "date": "2016-01-01"},
 ...]

问题:如果我使用"group by"查找卷,那么我将丢失时间范围的日期。基本上,我不确定我需要从 MySQL 数据库中提取什么 data/column 来构建图表和下拉列表。

或者,我正在考虑在加载 JSON 文件后创建可变卷和卷类别。有什么好的例子可以推荐吗?

我目前正在阅读有关构建下拉列表和时间序列图表的示例。

您似乎正在寻找一个 TSV 或 json 格式的数据集,d3 可以重新处理这些数据以适应对下拉列表的任何更改。

我希望你所说的时间范围是指:每天、每周、每月、每季度。

如果是这样,那么您需要将数据保存在最好的数据中,仅按行业和城市分组,将不同的公司计为数量(这意味着您不能将公司作为自己的列),并且删除预定的音量类别。

然后您可以事后使用 d3 浏览此数据以仅过滤特定行业或城市的那些量,或者对过滤城市的所有行业的所有量求和,或者对所有行业的所有量求和对于与过滤国家匹配的任何城市,等等。如果时间范围是最小单位的倍数,则再次为所有这些——每周 7 次日报和每月大约 30 次日报。完成后,您可以在将数据重新绑定到图表并重新绘制之前更新刚刚在数据中求和的交易量类别。

换句话说,下拉列表的每次更改都将使用针对该选择的专门调整的 sql 查询从后端服务重新请求数据,或者您将在每次页面加载时收到一个数据请求并使用 javascript 根据使用 nest.keys and nest.rollup.

的选择调整数据