Highchart中的标记旋转

时间:2013-08-27 12:29:34

标签: highcharts

有没有办法以不同的角度旋转每个标记?

让我们说,在下面的例子中,在系列1中,图像标记应分别为hv(30,90)和2,(150,60)度旋转。

HTML

<script src="http://code.highcharts.com/highcharts.js"></script>

<div id="container" style="height: 400px"></div>

JS

$(function () {
    $('#container').highcharts({
        chart: {
        },
        xAxis: {
            minPadding: 0.05,
            maxPadding: 0.05
        },

        series: [{
            data: [
                {
                y: 29.9,
                    x:0,
                   marker: {
                    symbol: 'url(http://www.highcharts.com/demo/gfx/snow.png)'
                }
            }, 
                {
                y: 71.9,
                    x:1,
                   marker: {
                    symbol: 'url(http://www.highcharts.com/demo/gfx/snow.png)'
                }
            },  
                [3, 106.4]
            ]
        },
                {
            data: [
                {
                y: 60,
                    x:0,
                   marker: {
                    symbol: 'url(http://www.highcharts.com/demo/gfx/snow.png)'
                }
            }, 
                {
                y: 25,
                    x:1,
                   marker: {
                    symbol: 'url(http://www.highcharts.com/demo/gfx/snow.png)'
                }
            },  
                [3, 90]
            ]
        }]
    });
});

Code example

1 个答案:

答案 0 :(得分:0)

不幸的是,它不受官方支持,但您可以使用解决方法,它会迭代每个点并按attr()函数旋转。它并不完美,但您可以使用translate来移动标记。

http://jsfiddle.net/yd8hV/2/

 $.each(chart.series[0].data,function(i,point){

        if(!point.angle)
            point.angle = 0;

        this.graphic.attr({
            rotation:point.angle
        })
        .translate(10,-10);

    });