Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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
Javascript 如何动态设置Highcharts类别?_Javascript_Highcharts - Fatal编程技术网

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];我明白,我能够在常规图表上完成这项工作,但我无法确定代码在活动图表中的位置和方式。添加代码将尝试此操作并报告。尝试此操作并报告。尼斯。另一种解决方法记录在此处:尼斯。另一种解决方法记录在此处: