Javascript 如何动态设置Highcharts类别?
我已经阅读了文档并在谷歌上搜索了几个小时,但在查找这些类别方面没有取得任何进展。我正在制作图形Javascript 如何动态设置Highcharts类别?,javascript,highcharts,Javascript,Highcharts,我已经阅读了文档并在谷歌上搜索了几个小时,但在查找这些类别方面没有取得任何进展。我正在制作图形 var udsChart; //global UDS chart variable function requestData() { $.ajax({ url: 'getJsonData.aspx?ID=udsLevel1', success: function (point) { udsChart.series[0].setData(p
var udsChart; //global UDS chart variable
function requestData() {
$.ajax({
url: 'getJsonData.aspx?ID=udsLevel1',
success: function (point) {
udsChart.series[0].setData(point, true);
setTimeout(requestData, 1000);
},
cache: false
});
}
udsChart = new Highcharts.Chart({
chart: {
renderTo: 'udsGraphDiv',
defaultSeriesType: 'column',
events: {
load: requestData
}
},
title: {
text: 'Live random data'
},
xAxis: {
text: 'xAxis'
},
yAxis: {
text: 'yAxis'
},
series: [{
name: 'Random data',
data: []
}]
});
您的类别应该是固定的,您可以通过带有值数组的setData函数设置数据。但是如果类别也在变化,那么试试这个
success: function (data) {
var categories= [];
var seriesData = [];
$.each(data,function(item){
categories.push(item[0]);
seriesData.push(item[1]);
});
udsChart.xAxis[0].setCategories(categories); //setting category
udsChart.series[0].setData(seriesData , true); //setting data
setTimeout(requestData, 1000);
}
您的类别应该是固定的,您可以通过带有值数组的setData函数设置数据。但是如果类别也在变化,那么试试这个
success: function (data) {
var categories= [];
var seriesData = [];
$.each(data,function(item){
categories.push(item[0]);
seriesData.push(item[1]);
});
udsChart.xAxis[0].setCategories(categories); //setting category
udsChart.series[0].setData(seriesData , true); //setting data
setTimeout(requestData, 1000);
}
您只需要设置xAxis类别属性。 这是一个例子
您只需要设置xAxis类别属性。 这是一个例子
您缺少简单属性:。将其设置为
category
,将起作用,如下所示:
xAxis: {
text: 'xAxis',
type: 'category'
},
您缺少简单属性:。将其设置为
category
,将起作用,如下所示:
xAxis: {
text: 'xAxis',
type: 'category'
},
尝试将您的响应参数设为其他参数而不是点,这意味着成功:函数(myData){var udsChart=$(“#udsGraphDiv”).Highcharts();udsChart.series[0]。setData(myData,true);也分享您的数据格式,这是一个包含字符串和值的数组吗?在这里发布ajax响应以更好地调试它。它是一个jSon对象。只有两个值[[“01/22/2016”,108],“01/24/2016”,45],“01/25/2016”,261],“01/26/2016”,224],“01/27/2016”,307],“01/28/2016”,64]]您需要为柱状图分别设置类别和数据。迭代数据并推送类别中的日期和系列中的值。例如,数据var data={“name”:“someName”,“data:[50,150155324705]};变量categories=[5600,5700580590060006100];我明白这一点,我能够在常规图表上完成,但我无法确定代码在活动图表中的位置和方式。添加代码尝试将响应参数设置为其他值而不是点,这意味着成功:函数(myData){var udsChart=$(“#udsGraphDiv”).Highcharts();udsChart.series[0]。setData(myData,true);也共享您的数据格式,这是一个包含字符串和值的数组吗?在这里发布ajax响应以更好地调试它。它是一个jSon对象。只有两个值[[“01/22/2016”,108],“01/24/2016”,45],“01/25/2016”,261],“01/26/2016”,224],“01/27/2016”,307],“01/28/2016”,64]]您需要为柱状图分别设置类别和数据。迭代数据并推送类别中的日期和系列中的值。例如,数据var data={“name”:“someName”,“data:[50,150155324705]};变量categories=[5600,5700580590060006100];我明白,我能够在常规图表上完成这项工作,但我无法确定代码在活动图表中的位置和方式。添加代码将尝试此操作并报告。尝试此操作并报告。尼斯。另一种解决方法记录在此处:尼斯。另一种解决方法记录在此处: