Highcharts组合图重叠彼此

时间:2013-12-17 05:14:08

标签: javascript asp.net highcharts

我想实现一个Combo Graph 饼图 2.列'正常' 3.脊柱

现在我的问题是,如果列值很大,它会与饼图重叠,但不能很好地查看,我在JS Fiddle sample处有样本

$(function () {
    $('#container').highcharts({
        chart: {
        },
        title: {
            text: 'Combination chart'
        },
        xAxis: {
            categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']
        },
        tooltip: {
            formatter: function() {
                var s;
                if (this.point.name) { // the pie chart
                    s = ''+
                        this.point.name +': '+ this.y +' fruits';
                } else {
                    s = ''+
                        this.x  +': '+ this.y;
                }
                return s;
            }
        },
        labels: {
            items: [{
                html: 'Total fruit consumption',
                style: {
                    left: '40px',
                    top: '8px',
                    color: 'black'
                }
            }]
        },
        plotOptions: {
            column: {
                stacking: 'normal'
            }
        },
        series: [{
            type: 'column',
            name: 'Jane',
            data: [9, 9, 1, 3, 4]
        }, {
            type: 'column',
            name: 'John',
            data: [2, 9, 5, 7, 6]
        }, {
            type: 'column',
            name: 'Joe',
            data: [4, 3, 3, 9, 0]
        }, {
            type: 'spline',
            name: 'Average',
            data: [3, 2.67, 3, 6.33, 3.33],
            marker: {
                lineWidth: 2,
                lineColor: Highcharts.getOptions().colors[3],
                fillColor: 'white'
            }
        }, {
            type: 'pie',
            name: 'Total consumption',
            data: [{
                name: 'Jane',
                y: 13,
                color: Highcharts.getOptions().colors[0] // Jane's color
            }, {
                name: 'John',
                y: 23,
                color: Highcharts.getOptions().colors[1] // John's color
            }, {
                name: 'Joe',
                y: 19,
                color: Highcharts.getOptions().colors[2] // Joe's color
            }],
            center: [20, 80],
            size: 100,
            showInLegend: false,
            dataLabels: {
                enabled: false
            }
        }]
    });
});

请给我一些关于如何解决这个问题的提示,我想到的一件事是设置X范围大于列的最大值但不确定如何做到这一点。

2 个答案:

答案 0 :(得分:1)

您可以尝试设置maxPadding: 0.5或更高的值,请参阅:http://jsfiddle.net/ykgNR/1/

答案 1 :(得分:0)

我建议您使用两个单独的图表。

一个用于饼图,另一个用于组合线和列。

您是否有强制要求在同一图表部分显示组合图和饼图?