首页 > 解决方案 > Javascript - 如何在 Highcharts 上显示数组的特定索引?

问题描述

我目前有一组数据,我试图在 Highcharts 上显示。

const data = [10,31,13,19,21]

我在显示数组的特定索引时遇到问题。例如,我希望一列成为另一列,data: data[0]等等data: data[1]。这样做时,我的图表上没有显示任何数据。

我能够在执行data:data和显示创建多列的整个数组时显示数据,但对于我的情况,比如将每个点保留在一列中。

这是一个jsfiddle的链接

具有特定数组索引的所需外观,即data: data[1]

在此处输入图像描述


结果如果使用data: data

在此处输入图像描述

这是我的代码:

const data = [10,31,13,19,21]

Highcharts.chart('container', {
    chart: {
        type: 'bar'
    },
    title: {
        text: "Bar Graph"
    },
    xAxis: {

    },
    yAxis: {
        min: 0,
        formatter: function () {
            return this.value + "%";
        },
        title: {
            text: '% of Total'
        }
    },
    legend: {
        reversed: false
    },
    plotOptions: {
        series: {
            stacking: 'normal'
        }
    },
    series: [{
        name: 'Low',
        data: data[0],
        showInLegend: false,
    },{
        name: 'Low',           
        data: data[1]
    },{
        name: 'Medium-Low',
        data: data[2]
    }, {
        name: 'Medium',
        data: data[3]
    }, {
        name: 'Medium-High',
        data: data[4]
    }, {
        name: 'High',
        data: data[5]
    }
    ]
});

标签: javascripthighcharts

解决方案


data必须是数组,同时 data[0], data[1], ... 是数字。相反,您需要在数组中分配这些值,例如:data: [data[1]]

演示:https ://jsfiddle.net/BlackLabel/ty42b0hs/

    series: [{
        name: 'Low',
        color: '#0D6302',
        data: [data[0]],
        showInLegend: false,
    },{
        name: 'Low',
        color: '#0D6302',
        data: [data[1]]
    }, ...]

推荐阅读