首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个循环中使用高图表制作多个图表?

如何在一个循环中使用高图表制作多个图表?
EN

Stack Overflow用户
提问于 2016-01-22 03:08:08
回答 2查看 2.6K关注 0票数 1

这是我的相关代码:

代码语言:javascript
复制
        <script>
            titles = <?php echo json_encode($graphTitles)?>;
            //Loop through the graphs
            for (var graphNO = 0; graphNO < titles.length; graphNO++)
            {                               
               //CREATE NEW CONTAINER
                var container = document.createElement('div'); 
                document.body.appendChild(container);er);

                dates = <?php echo json_encode($recivedDates);?>[titles[graphNO]];
                //I EXTRACT A FEW  MORE ARRAYS THE SAME METHOD
              $(function () 
                {
                  $(container).highcharts({
                      title: {
                          text: titles[graphNO]
                      },
                      xAxis: {
                          categories: dates
                      },
                      series: [{
                          type: 'column',
                          color: 'gold',
                          name: 'Created Issues',
                          data: createdIssues.map(Number)
                      }, 
                       //MORE COLUMN'S AND SOME SPLINES. IT ALL WORKS AS EXPECTED
                  });
                });
            }
        </script>

我不想发布所有的代码,只想把它弄得乱七八糟,我希望这段代码能做的是:

graphNO的值为2,我认为它会循环两次(它会),为每个循环创建一个容器(它会这样做),然后在它刚刚创建的容器中为它所做的每个循环绘制一个不同的图(但是它只是绘制第二个图)。

我不知道出了什么问题,但是任何关于如何解决这个问题的想法,或者任何关于如何在一个循环中生成多个图的想法,都会有很大的帮助。

而且,这是我创建的第一个站点,所以我已经有一天没有使用javascript、php或html了,所以很抱歉,如果真的很明显,我在上面找不到任何东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-25 02:58:27

我明白了,经过一天的尝试,网络上复杂的东西都没起作用,我最终想如果我删除这个函数会发生什么,而不是这样:

代码语言:javascript
复制
             $(function () 
            {
              $(container).highcharts({
                  title: {

我只是有:

代码语言:javascript
复制
              $(container).highcharts({
                  title: {

一切都很完美。我不知道为什么,可能是因为jquery如何处理函数,我不知道,我甚至不知道我使用的是jquery,直到一个小时前。但是,如果有人想做类似的事情,那就有效了,你可以告诉我原因。

票数 3
EN

Stack Overflow用户

发布于 2017-04-11 21:06:39

斯威克里特·哈纳尔的回答是有效的,因为这个函数不再被写过了。当您将其全部包装在函数中时,该函数将在构建下一个图时覆盖它的self,因此只剩下最后一个图。

Bellow是一种在不删除函数的情况下使用循环并构建多个图的方法,但它的名称却是唯一的。

代码语言:javascript
复制
for(v=0; v < 5; v++){
 var container = "#container"+v;
 var func_name = "container"+v;
 func_name = function () {
   $(container).highcharts({
   })
 }
func_name()
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34938338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档