Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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,我需要为图表中的每一列设置不同的宽度。。。宽度取决于yaxis值。。。例如,如果YxAx值为23,具有此值的列的宽度将为50px,并且值需要位于列的中间。如果YxAx值为234:宽度必须是70px,并且在列的中间值。我怎么能做到? 我的图表是: options = { chart: { renderTo: 'chart', type: 'column', width: 450 }, title: { tex

我需要为图表中的每一列设置不同的宽度。。。宽度取决于yaxis值。。。例如,如果YxAx值为23,具有此值的列的宽度将为50px,并且值需要位于列的中间。如果YxAx值为234:宽度必须是70px,并且在列的中间值。我怎么能做到? 我的图表是:

options = {
    chart: {
        renderTo: 'chart',
        type: 'column',
        width: 450
    },

    title: {
        text: 'A glance overview at your contest’s status'
    },

    xAxis: {
        categories: ['Approved Photos', 'Pending Approval Photos', 'Votes', 'Entrants'],
        labels: {
            //rotation: -45,
            style: {
                font: 'normal 9px Verdana, sans-serif, arial'
            }
        }
    },

    yAxis: {
        allowDecimals: false,
        min: 0,
        title: {
            text: 'Amount'
        }
    },

    legend: {
        enabled: false
    },

    series: []
};

series = {
    name: "Amount",
    data: [],
    dataLabels: {
        enabled: true,
        color: '#000000',
        align: 'right',
        x: -10,
        y: 20,
        formatter: function () {
            return this.y;
        },
        style: {
            font: 'normal 13px Verdana, sans-serif'
        }
    }
};
我用这种方式设置值:

    var colors = Highcharts.getOptions().colors;        
    var index = 0;
    options.series = [];
    series.data = [];
    for (var i in Data) {
        if (parseInt(Data[i]) != 0) {
            series.data.push({ y: parseInt(Data[i]), color: colors[index]            });
            index++;
        }
        else {
            series.data.push(null);
        }
    }
    options.series.push(series);
    chart = new Highcharts.Chart(options);

这就是你要找的吗

你可以通过使用

pointPadding: 0.1

希望这对你有用

这就是你要找的吗

你可以通过使用

pointPadding: 0.1

希望这对您有用

在Highcharts中,一个系列只能有一个宽度,因此如果您希望每个条形图都有另一个宽度,请将数据拆分为系列,并使用
pointWidth
设置宽度。

在Highcharts中,一个系列只能有一个宽度,因此如果您希望每个条形图都有另一个宽度,将数据拆分为系列,并使用
pointWidth
设置宽度