动态创建DC图表

时间:2016-06-03 18:43:13

标签: d3.js dc.js

我无法动态创建图表,因为我需要动态创建新的图表变量名称

如何传递动态创建的图表变量以生成带有?

的图表

目前使用下面的代码创建了不同的图表,但都具有相同的名称......即" chartname"我需要以某种方式动态传递它们的唯一名称。

干杯布鲁斯

var chartcount = 0;
var chartname = "chart" + chartcount.toString();
var chartid = "#chart" + chartcount.toString();  
var chartname = dc.barChart(chartid);   

// chart0
chartname
                .width(100)
                .height(100)
                .margins({ top: 10, right: 10, bottom: 35, left: 35 })
                .transitionDuration(250)....


var chartcount++;
var chartname = "chart" + chartcount.toString();
var chartid = "#chart" + chartcount.toString();  
var chartname = dc.barChart(chartid);

// chart1
chartname
                .width(100)
                .height(100)
                .margins({ top: 10, right: 10, bottom: 35, left: 35 })
                .transitionDuration(250)....


var chartcount++;
var chartname = "chart" + chartcount.toString();
var chartid = "#chart" + chartcount.toString();  
var chartname = dc.barChart(chartid);  

// chart2
chartname
                .width(100)
                .height(100)
                .margins({ top: 10, right: 10, bottom: 35, left: 35 })
                .transitionDuration(250)....

1 个答案:

答案 0 :(得分:1)

那是因为你要覆盖变量。

这应该有效:

var charts = []
for (var i = 0; i < 3; i++) {
  charts[i] = dc.barChart('#chart' + i)
  charts[i]
    .width(100)
    .height(100)
    .margins({ top: 10, right: 10, bottom: 35, left: 35 })
    .transitionDuration(250)
}