javascript - 对条形图中的 x 轴使用序数刻度 ('d3.scale.ordinal' )

标签 javascript d3.js bar-chart dc.js crossfilter

我有一个这样的数据数组:

var data = [{"Alphabet_Type":"a"}, {"Alphabet_Type":"b"}, {"Alphabet_Type":"a"}];

我在用:
  • dc.js
  • crossfilter.js
  • d3.js

  • 我想创建一个 条形图 和:
  • 具有字母名称的 x 轴和
  • y 轴出现字母的次数。

  • 问题:如何使用 绘制条形图序数尺度在 x 轴上?

    我的代码:

    var data = [{"Alphabet_Type":"a"}, {"Alphabet_Type":"b"}, {"Alphabet_Type":"a"}];
    
    var Filter = crossfilter(data);
    var Dimension = Filter.dimension(function (d) { return d.Alphabet_Type; });
    var Group = Dimension.group();
    
    dc.barChart("#bar-chart")
        .width(800) 
        .height(275) 
        .transitionDuration(0) 
        .margins({ top: 10, right: 50, bottom: 30, left: 40 })
        .dimension(Dimension) 
        .group(Group) 
        .elasticY(false)
        .elasticX(false)
        .x(d3.scale.linear().domain([-1, 10]))
        .y(d3.scale.linear().domain([0, 5]))
        .centerBar(true)
        .renderHorizontalGridLines(true)
        .renderVerticalGridLines(true)
        .brushOn(false);
    

    最后,我还有一个问题是 Alphabet_Type不会有可预测的值。所以我需要获取 Alphabet_Type 的值通过 crossfilter.js 并将这些值合并到域中。我怎样才能做到这一点?

    最佳答案

    两件事情:

  • dc.units.ordinal 作为 .xUnits() 的参数.
  • 通过 序数尺度函数到 .x() .

  • 这就是我的意思:

    .x(d3.scale.ordinal().domain(["", "a", "b", "c"])) // Need empty val to offset first value
    .xUnits(dc.units.ordinal) // Tell dc.js that we're using an ordinal x-axis
    

    请参阅此 JSFiddle:http://jsfiddle.net/reblace/tbamW/156/

    由于某种原因,我无法获得 renderHorizontalGridLines() renderVerticalGridLines() 工作,但其余的都很好。

    关于javascript - 对条形图中的 x 轴使用序数刻度 ('d3.scale.ordinal' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18742406/

    相关文章:

    IE7 和 IE8 中的 JavaScript 错误 : SCRIPT5007: Unable to get the value of property 'newQuestion' : object is null or undefined

    javascript - 如何将数据添加到 D3 堆叠面积图而不出现奇怪的动画故障?

    javascript - 显示带有日期和状态的设备的在线离线状态js jquery d3

    javascript - 具有两个 Y 轴问题的水平堆叠条形图

    r - 如何制作重叠的条形图?

    javascript - 路由防护中的 Angular 2 对话框可以停用

    javascript - 带有 Google map 绘图的自定义按钮

    Php Mysql Ajax 无限滚动

    javascript - D3.js 未使用所有数据点

    android - android中的多色条形图