javascript - 使用字符串数组而不是整数数组创建 xAxys - Highcharts

标签 javascript arrays highcharts

我需要使用字符串数组而不是整数数组来在 Highcharts 上创建我的 xAxys

有人已经尝试过这样做或者可以帮助我实现这一点吗?

我要在此图表上使用的模拟数据将类似于:

    var weekNoArray = [32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34],
        retailerNamesArray = ['a', 'b', 'c', 'd', 'e', 'f', 'a', 'b', 'c', 'd', 'e', 'f', 'a', 'b', 'c', 'd', 'e', 'f'],
        clicksArray = [43, 48, 62, 63, 43, 39, 27, 30, 43, 49, 34, 24, 47, 45, 59, 64, 48, 47],
        series = [];

需要使用 retailerNamesArray 变量来创建我的 xAxys

我已经尝试过生成该系列的内容:

series = generateData(weekNoArray, retailerNamesArray, clicksArray);

function generateData(weekNoArray, retailerNamesArray, clicksArray) {
    var ret = {},
        ps = [],
        series = [],
        len = weekNoArray.length;

    //concat to get points
    for (var i = 0; i < len; i++) {
        ps[i] = {
            x: weekNoArray[i],
            y: clicksArray[i],
            n: retailerNamesArray[i]
        };
    }
    retailerNamesArray = [];
    //generate series and split points
    for (i = 0; i < len; i++) {
        var p = ps[i],
            sIndex = $.inArray(p.n, retailerNamesArray);

        if (sIndex < 0) {
            sIndex = retailerNamesArray.push(p.n) - 1;
            series.push({
                name: p.n,
                data: []
            });
        }
        series[sIndex].data.push(p);
    }
    return series;
}



$('#container').highcharts({
    title: {
        text: 'Retaielr Clicks',
        x: -20 //center
    },
    subtitle: {
        text: 'Date',
        x: -20
    },
    yAxis: {
        title: {
            text: 'Clicks'
        },
        plotLines: [{
            value: 0,
            width: 1,
            color: '#808080'
        }]
    },
    tooltip: {
        valueSuffix: '°C'
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'middle',
        borderWidth: 0
    },
    series: series
});

运行示例:Fiddle 1

最佳答案

在此代码中,weekNoArray 用于设置 x 轴值和 线性 类型的 xAxis。现在,如果您想使用 category 类型轴,您至少应该:

  • weekNoArray 值更改为从 0 开始
  • 设置 x 轴类别

示例:http://jsfiddle.net/rt4pthvn/

关于javascript - 使用字符串数组而不是整数数组创建 xAxys - Highcharts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900826/

相关文章:

javascript - 如何用异步解决这个错误?

sql - jsonb 在数组中查找一个值

javascript - javascript中查找数组中重复元素的方法有哪些

java - 创建一个字符串缓冲区数组

javascript - HighCharts pointRange chop 宽度。这是 HighCharts 的错误还是我遗漏了什么?

jquery - 动态更新 Highcharts 上的仪表

javascript - 谷歌图表容器未定义..但div在那里

javascript - 如何用视频创建网络动画——比如 apple.com/ipad-air

javascript - Bootstrap 文本框 Dropbox 搜索

javascript - 使用 python Flask 应用程序在 Heroku 上未显示 highcharts