HighCharts组合图

时间:2013-10-24 05:12:31

标签: jquery highcharts

我在highcharts JSFiddle中使用组合图表。超过某一点时,饼图会以折线图的形式出现并妨碍其可见性。

如何根据折线图的值动态上/下推动饼图。

这是我的高级代码。

$(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'
                    }
                }]
            },
            series: [{
                type: 'spline',
                name: 'Average',
                data: [3, 6, 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: [100, 80],
                size: 100,
                showInLegend: false,
                dataLabels: {
                    enabled: false
                }
            }]
        });
    });

我想要像this这样的东西。你看到饼图和样条曲线没有冲突。但就我而言,样条曲线的值很高,饼图会阻碍样条曲线的可见性。饼图应自动调整自己在样条曲线上方或下方的某处。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我认为没有一种自动方式。您可能需要添加一些逻辑来根据绘制的数据设置图表的中心和大小参数。

另一种方法是扩展y轴以腾出空间。您可以根据绘制的最大值加上饼图的足够空间来计算:

 yAxis: {
            max:10
        },

http://jsfiddle.net/Y7GMr/