dc.js之直流综合图

yjmyzz 阅读:151 2025-02-15 21:57:57 评论:0

我有这样的数据

Sl.No,Sex,Age_band,TYPE of Mesh,Type of Surgery 16,M,0-25,PHS,UL 腹股沟 20,M,0-25,PHS,UL 腹股沟 90,M,0-25,UHSL,UL 腹股沟 95,M,0-25,UHSL,UL 腹股沟 117,M,0-25,UHSL,UL 腹股沟 119,M,0-25,UHSL,UL 腹股沟 32,M,0-25,Ultrapro,切口 14,M,26-35,PHS,UL 腹股沟 18,M,26-35,PHS,UL腹股沟

我正在尝试绘制复合图表 我的代码是

var mFilteredData = crossfilter(mData); 
        var mDimension = mFilteredData.dimension(dc.pluck("Age_band")); 
        var mGroup = mDimension.group().reduceCount(dc.pluck("TYPE of Mesh")); 
        var mGroup1 = mDimension.group().reduceCount(dc.pluck("Type of Surgery")); 
 
 
        var chart = dc.compositeChart(".chart"); 
        chart 
        .width(400) 
        .height(300) 
        .yAxisLabel("User Count") 
        .renderHorizontalGridLines(true) 
        .dimension(mDimension) 
        .x(d3.scale.ordinal()) 
        .xUnits(dc.units.ordinal) 
        .compose([ 
            dc.barChart(chart) 
            .centerBar(true) 
            .gap(100) 
            .colors('red') 
            .group(mGroup) 
            , 
            dc.barChart(chart) 
            .centerBar(true) 
            .gap(100) 
            .colors('blue') 
            .group(mGroup1)]) 
        .brushOn(false) 
        .render(); 

但是我得到了这个错误

Uncaught TypeError: Cannot call method 'all' of undefined  

请您参考如下方法:

我也遇到了同样的问题。在对 dc 源代码进行一些挖掘之后,我看到如果你有一个序数 x 尺度,图表会调用它的 groups all() 函数(不完全确定为什么,但它似乎正在使用 x 轴域的数据)。通过向您的复合图表添加一个组,您将解决此问题。像这样:

  dc.compositeChart(".chart") 
    .width(400) 
    .height(300) 
    .yAxisLabel("User Count") 
    .renderHorizontalGridLines(true) 
    .dimension(mDimension) 
    .group(mGroup) 
    .x(d3.scale.ordinal()) 
    .xUnits(dc.units.ordinal) 


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号