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