我可以在ZingChart中通过单个renderfunction调用渲染多个图表吗?

Imr*_*mer 4 javascript charts zingchart

我访问了ZingChart的文档,并通过调用多个这样的渲染函数来了解渲染多个图表的方法.

  zingchart.render({
    id:'chartDiv1',
    data:myChart1,
    height:300,
    width:500
  });
  zingchart.render({
    id:'chartDiv2',
    data:myChart2,
    height:300,
    width:500       
  });
  zingchart.render({
    id:'chartDiv3',
    data:myChart3,
    height:300,
    width:500
  });
  zingchart.render({
    id:'dashboardDiv',
    data:myDashboard,
    height:500,
    width:700
  });
Run Code Online (Sandbox Code Playgroud)

但是在我的代码中,我想编写更少的代码,这对我来说应该更有效,因为它也是由我的老板指导的.

所以我的问题是我可以通过调用一个渲染函数来渲染多个图表吗?就像是:

zingchart.render({
    id:{'chartDiv1','chartDiv2','chartDiv3','chartDiv4'},
    data:{myChart1,myChart2,myChart3,myChart4},
    height:300,
    width:500
  });
Run Code Online (Sandbox Code Playgroud)

提前致谢.

nar*_*cky 6

完全披露,我是ZingChart团队的成员.

我们目前不支持上面的示例代码,但有几种方法可以使用javascript执行此操作.

function renderZingCharts(_id,_data) {
  zingchart.render({
    id: _id,
    data: _data,
    height:300,
    width:500
  });
}

renderZingCharts('chartDiv1', myChart1);
renderZingCharts('chartDiv2', myChart2);
renderZingCharts('chartDiv3', myChart3);
renderZingCharts('chartDiv4', myChart4);
Run Code Online (Sandbox Code Playgroud)

如果要保留数组内容,也可以循环访问.

function renderZingCharts(aIds, aData) {

  // do some sanity checks for length of two arrays here ???

  for (var i=0; i < aIds.length; i++) {
    zingchart.render({
      id: aIds[i],
      data: aData[i],
      height:300,
      width:500
    });
  }
}
var ids = ['chartDiv1', 'chartDiv2', 'chartDiv3', 'chartDiv4'];
var configs = [myChart1, myChart2, myChart3, myChart4];
renderZingCharts(ids,configs);
Run Code Online (Sandbox Code Playgroud)