HighCharts:如何绘制雷达图,在每个轴上显示不同的比例标签?

时间:2013-01-30 15:05:55

标签: highcharts radar-chart

我需要使用HighCharts绘制雷达图;特别是,所有系列都有不同的规模。我能够使用多个刻度(每个y轴一个)正确绘制雷达图,但我在主y轴上看到多个重叠标签,这显然是错误的。现在,我想要在相应的y轴上绘制与每个y轴相关的标签。我怎么能这样做?

这是一个可以粘贴在jsFiddle中的片段,用于验证标签是否确实重叠。

$(function () {
window.chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        polar: true,
        type: 'line',
        zoomType: 'xy'
    },
    title: {
        text: 'Indicators Radar Chart',
        x: -80
    },
    pane: {
        size: '90%'
    },
    xAxis: {
        categories: ['A', 'B', 'C', 'D'],
        tickmarkPlacement: 'on',
        lineWidth: 0,
        min: 0
    },
    yAxis: [{
        gridLineInterpolation: 'polygon',
        lineWidth: 0,
        min: 0,
        labels: {
            enabled: true
        }
    }, {
        gridLineInterpolation: 'polygon',
        lineWidth: 0,
        min: 0,
        labels: {
            enabled: true
        }
    }, {
        gridLineInterpolation: 'polygon',
        lineWidth: 0,
        min: 0,
        labels: {
            enabled: true
        }
    }],
    tooltip: {
        shared: true,
        valuePrefix: ''
    },
    legend: {
        align: 'right',
        verticalAlign: 'top',
        y: 100,
        layout: 'vertical'
    },
    series: [{
        name: 'Austria',
        yAxis: 0,
        data: [0.130435, 35.043480, 29288.695312, 236960.296875],
        pointPlacement: 'on'
    }, {
        name: 'Germany',
        yAxis: 1,
        data: [0.000000, 42.217392, 149103.906250, 589782.500000],
        pointPlacement: 'on'
    }, {
        name: 'Italy',
        yAxis: 2,
        data: [2.304348, 44.826088, 132805.218750, 878785.937500],
        pointPlacement: 'on'
    }]
});

});

我想要获得的输出是这样的:对于这个特定的图表,与不同比例相关的标签沿着每个轴出现:从中心点到A,从中心点到B,从中心点到C从中心点到D.问题是,现在所有标签都出现在同一轴上,从中心点到A。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

演示:http://www.highcharts.com/jsbin/eyugex/edit

您似乎假设每个轴从中心延伸到不同方向,但事实并非如此。所有Y轴都从中心延伸。 X轴从图表的顶部开始,沿周边顺时针跟随周边,并在顶部结束。 Y轴标签绘制在X轴开始的位置,即向上。

在这样的图表中,添加多个Y轴是没有意义的,因为它们都是相互叠加的,并且您无法在视觉上区分彼此。