Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Highcharts:单页多图表的高性能_Jquery_Ajax_Charts_Highcharts - Fatal编程技术网

Jquery Highcharts:单页多图表的高性能

Jquery Highcharts:单页多图表的高性能,jquery,ajax,charts,highcharts,Jquery,Ajax,Charts,Highcharts,我在一个页面上有多个highcharts,最少10个图表,最多25个图表,就像小部件一样 我以前使用Ajax函数从服务器调用highcharts数据,现在从MYSQL数据库调用数据 关于图表的加载没有任何问题,但只有当我在一个页面中加载超过5个图表时,highcharts的性能变得非常低,图表加载非常缓慢,我尝试了highcharts网站中建议的一些方法,如 延迟加载- 数据分组- 但是这些技术对我都没有帮助,我的性能仍然很慢,这是我过去如何调用图表的编码示例 我有多个下拉列表,每次更改下拉列表

我在一个页面上有多个highcharts,最少10个图表,最多25个图表,就像小部件一样

我以前使用Ajax函数从服务器调用highcharts数据,现在从MYSQL数据库调用数据

关于图表的加载没有任何问题,但只有当我在一个页面中加载超过5个图表时,highcharts的性能变得非常低,图表加载非常缓慢,我尝试了highcharts网站中建议的一些方法,如

延迟加载- 数据分组-

但是这些技术对我都没有帮助,我的性能仍然很慢,这是我过去如何调用图表的编码示例

我有多个下拉列表,每次更改下拉列表值时,图表将根据下拉列表值进行更新

我曾经使用类似这样的Ajax函数调用图表

  $.ajax({
                    type: "GET",
                    url: "SampleAJAX.aspx",
                    data: "type=CHART1&data="+data1,
                    success: Chart1Success,
                    error: IsError
                });

  $.ajax({
                    type: "GET",
                    url: "SampleAJAX.aspx",
                    data: "type=CHART2&data="+data2,
                    success: Chart2Success,
                    error: IsError
                });
....etc..etc... like wise n number of Ajax functions will be called
在这个Ajax函数之后,我常常调用success函数中的图表

     function Chart1Success(){
    $('#Chart1').highcharts({
                        chart: {
                            type: 'pie',
                            style: {
                                fontFamily: "Roboto",
                            },
                            events: {
                                load: function () {
                                    var msg = "Chart1";
                                    AfterUpdate(msg);
                                },
                            },
                        }
          .................
    });
    }

  function Chart2Success(){
    $('#Chart1').highcharts({
                        chart: {
                            type: 'column',
                            style: {
                                fontFamily: "Roboto",
                            },
                            events: {
                                load: function () {
                                    var msg = "Chart2";
                                    AfterUpdate(msg);
                                },
                            },
                        }
          .................
    });
    }
  ......etc..etc.... n number of Highcharts continues

很抱歉,我没有发布fiddle,因为我的数据有点机密,而且我花了很多时间在fiddle中集成相同的内容和样本数据,如果仍然需要,我会尽我所能发布

您需要诊断延迟的位置。是在数据加载中,还是在图表本身的呈现中。使用开发人员工具查看加载时间。一般问题在于您的概念,因为您调用了太多ajax,这会影响页面性能,而不是highcharts。是的,我的ajax函数加载的时间太长,TTFB等待时间对于每个ajax来说太长,所以它与highcharts无关,但是总体上不正确的软件架构。是的,正确的Sebastin,不正确的软件架构