簡體   English   中英

在高圖中為每列設置不同的寬度

[英]Set different width for each column in highcharts

我需要為圖形中的每一列設置不同的寬度...寬度取決於yaxis值...例如,如果yaxis值為23,則具有此值的列的寬度將為50px,並且值必須在中間列的。 並且,如果yaxis值為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);

這是您正在尋找的http://jsfiddle.net/YCf9z

你可以通過使用

pointPadding: 0.1

希望這對您有用

在Highcharts中,一個系列只能具有一個寬度,因此,如果要使每個條形都具有另一個寬度,請將數據分成系列並使用pointWidth設置寬度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM