【问题标题】:Can I render multiple charts by single renderfunction call in ZingChart?我可以通过 ZingChart 中的单个渲染函数调用来渲染多个图表吗?
【发布时间】:2016-09-30 07:46:23
【问题描述】:

我访问了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
  });

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

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

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

提前致谢。

【问题讨论】:

    标签: javascript charts zingchart


    【解决方案1】:

    完全公开,我是 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);
    

    如果要保留数组内容,也可以循环遍历。

    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);
    

    【讨论】:

    • 我明白你的意思,但我建议你在以后的更新中记住这种情况,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2019-07-24
    • 2020-11-24
    • 2015-03-30
    • 2011-09-04
    • 1970-01-01
    相关资源
    最近更新 更多