【问题标题】:dc js - Histogram using dc jsdc js - 使用 dc js 的直方图
【发布时间】:2014-02-28 11:15:36
【问题描述】:

我有以下数据。

我可以使用dc.js创建任何可能性吗?

有人可以帮助我使用 dc js 创建直方图吗?

搜索了整个论坛,但除了这个post之外找不到有用的东西。

日期:

数字 1 10 1 20 35 24 26 35 12 32 35 10 1 2 32 35 36 12

在过去 2 天里一直卡在这个状态。

请帮忙。

【问题讨论】:

    标签: javascript d3.js dc.js


    【解决方案1】:

    http://jsfiddle.net/djmartin_umich/NmWP8/

    1) 首先加载您的数据。在这种情况下,我直接加载它,但您可能希望使用 d3.csv(如 https://github.com/dc-js/dc.js/blob/master/web/examples/bar.html 的示例)。

    var experiments = [
            1,
            10,
            1,
            //other data points
            20];
    

    2) 接下来创建您的交叉过滤器维度和组。

            var ndx = crossfilter(experiments),
            typeDimension = ndx.dimension(function (d) {
                return d;
            }),
            typeGroup = typeDimension.group().reduceCount();
    

    3) 设置图表

            var barChart = dc.barChart("#barChart");
    
            barChart
            .width(768)
            .height(480)
            .x(d3.scale.linear().domain([0,40]))
            .brushOn(false)
            .dimension(typeDimension)
            .group(typeGroup);
    

    4) 渲染图表

        dc.renderAll();
    

    【讨论】:

    • 非常好的和彻底的答案!如果您不介意,我添加了一个屏幕截图。
    • 非常感谢您的回复。如果你能说我如何取平均值并绘制该历史,也可以请帮助我吗?如果你不介意。 +1 投票给简短的解释和你的答案。
    • 我不确定您所说的平均直方图是什么意思。您是指按数据集的某个字段分组的平均值吗?一个例子可能有助于我了解您的需求。
    • @DJMartin 很好的解释,你能详细说明一下reduceCount() 部分的含义吗?
    • dimension() 是您希望报告的字段。 group() 是您希望将这些字段组合在一起的方式...例如,您可能有一个付款维度,并且您可能按整美元金额分组。将所有记录组合在一起后,您可以使用 reduceCount 方法简单地计算每个组中有多少记录。或者您可能不太关心计数,而更关心总和(在这种情况下,您可以构建自定义 reduce() 函数)。有关更完整的说明,请参阅 github.com/square/crossfilter/wiki/API-Reference
    猜你喜欢
    • 1970-01-01
    • 2014-02-28
    • 2014-03-24
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多